Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建新的git分支。git远程添加的意义是什么?_Git_Git Branch - Fatal编程技术网

创建新的git分支。git远程添加的意义是什么?

创建新的git分支。git远程添加的意义是什么?,git,git-branch,Git,Git Branch,我正在遵循一个名为创建新分支的指南 到目前为止,我已经: git checkout -b [new_branch_name] git push -u origin dev 但下一个命令似乎毫无意义。为什么需要它 git remote add [name_of_your_remote] [new_branch_name] 我刚刚创建了一个新分支。我已经让Git意识到了这一点,所以我可以将代码引入到我的新分支中。为什么我现在需要创建一个远程分支并为其命名?这个名字应该和我当地的分行一样吗 有人能

我正在遵循一个名为创建新分支的指南

到目前为止,我已经:

git checkout -b [new_branch_name]
git push -u origin dev
但下一个命令似乎毫无意义。为什么需要它

git remote add [name_of_your_remote] [new_branch_name]
我刚刚创建了一个新分支。我已经让Git意识到了这一点,所以我可以将代码引入到我的新分支中。为什么我现在需要创建一个远程分支并为其命名?这个名字应该和我当地的分行一样吗

有人能解释一下这个命令的目的吗

编辑:我问这个问题的原因是因为我想知道创建新分支、编辑分支上的代码、获取最新版本和提交/推送更改的最小值

这个名字应该和我当地的分行一样吗

不一定,但这些命令严重混乱。git remote add添加了一个新的遥控器,但您已经有了一个。它不需要也不影响任何分支

对于记录,您可以通过以下方式设置分支的上游名称:

git push -u origin dev:<newname>
这个名字应该和我当地的分行一样吗

不一定,但这些命令严重混乱。git remote add添加了一个新的遥控器,但您已经有了一个。它不需要也不影响任何分支

对于记录,您可以通过以下方式设置分支的上游名称:

git push -u origin dev:<newname>

在git中,远程存储库(简称remote)是指位于您现在所在存储库之外的存储库,通常称为您的本地存储库。远程设备可能位于当前主机上,甚至可能与同级目录中的位置一样接近,或者远程设备可以物理上驻留在本地网络或Internet上的其他主机上

鉴于您已成功运行

git checkout -b dev
git push -u origin dev
这意味着您必须已克隆本地存储库。作为克隆过程的一部分,git设置一个远程命名源,指向您克隆的存储库

如果该存储库是唯一一个要推送到和从中拉出的存储库,那么就完成了。无需再次创建远程服务器

涉及第三个存储库的一种常见情况是,如果您在GitHub上分叉存储库,并希望使分叉与上游保持最新,上游是您正在跟踪的主存储库。这样做的原因是您不能直接提交到项目的主存储库,但可以提交到您自己的fork,然后发送pull请求

比如说,你想至少让你的叉子保持最新,甚至可能为一个很棒的项目做出贡献。你的行动顺序是

在GitHub上,找到您希望参与的存储库。此主存储库将成为您的上游存储库。 克隆你的fork:gitclonegit@github.com:user997112/awesome-project.git 创建上游远程:git remote add upstreamhttps://github.com/awesome/awesome-project.git 有了这个设置,您现在可以与三个存储库进行交互:本地克隆,然后是本地克隆的两个远程存储库,它们是您的GitHub fork和原始项目主存储库

使所有主分支保持同步,也就是说,分支的主分支和克隆的主分支与上游分支相同,这就需要运行

git fetch upstream
git checkout master
git merge upstream/master
git push origin master
使用上述命令将允许您拥有“脏主机”,这意味着在本地主机分支上进行更改,并合并来自上游的更改。对于较新的git用户,我强烈建议使用干净的主机。这意味着在除master之外的分支中进行所有更改。这将减少混乱。使用这种更安全的方法,将merge命令更改为需要快进合并

git merge --ff-only upstream/master
这样,如果您错误地向本地主服务器提交了某些内容,git将不会创建合并提交,您将不得不返回并解开这些提交,以获得对您有意义的状态

另见


在git中,远程存储库(简称remote)是指位于您现在所在存储库之外的存储库,通常称为您的本地存储库。远程设备可能位于当前主机上,甚至可能与同级目录中的位置一样接近,或者远程设备可以物理上驻留在本地网络或Internet上的其他主机上

鉴于您已成功运行

git checkout -b dev
git push -u origin dev
这意味着您必须已克隆本地存储库。作为克隆过程的一部分,git设置一个远程命名源,指向您克隆的存储库

如果该存储库是唯一一个要推送到和从中拉出的存储库,那么就完成了。无需再次创建远程服务器

涉及第三个存储库的一种常见情况是,如果您在GitHub上分叉存储库,并希望使分叉与上游保持最新,上游是您正在跟踪的主存储库。这样做的原因是您不能直接提交到项目的主存储库,但可以提交到您自己的fork,然后发送pull请求

你说 想至少让你的叉子保持最新,甚至可能对很棒的项目做出贡献。你的行动顺序是

在GitHub上,找到您希望参与的存储库。此主存储库将成为您的上游存储库。 克隆你的fork:gitclonegit@github.com:user997112/awesome-project.git 创建上游远程:git remote add upstreamhttps://github.com/awesome/awesome-project.git 有了这个设置,您现在可以与三个存储库进行交互:本地克隆,然后是本地克隆的两个远程存储库,它们是您的GitHub fork和原始项目主存储库

使所有主分支保持同步,也就是说,分支的主分支和克隆的主分支与上游分支相同,这就需要运行

git fetch upstream
git checkout master
git merge upstream/master
git push origin master
使用上述命令将允许您拥有“脏主机”,这意味着在本地主机分支上进行更改,并合并来自上游的更改。对于较新的git用户,我强烈建议使用干净的主机。这意味着在除master之外的分支中进行所有更改。这将减少混乱。使用这种更安全的方法,将merge命令更改为需要快进合并

git merge --ff-only upstream/master
这样,如果您错误地向本地主服务器提交了某些内容,git将不会创建合并提交,您将不得不返回并解开这些提交,以获得对您有意义的状态

另见


只有当所述新分支基于与您的其他分支不同的远程分支时,才有必要这样做。在每个分支创建时都不需要这样做,不。@Romanvaleri感谢您的解释。请问你能告诉我遥控器是什么吗?你是说Git服务器是否在另一台主机上?这里我假设你的遥控器在github上。这是本地存储库的远程副本。这里的关键是,您正在阅读的指南是针对与您的情况不同的情况的。特别是当您决定使用公共GitHub存储库时,您需要三个存储库:原始GitHub存储库、GitHub上的fork存储库和您自己系统上的存储库,例如笔记本电脑上的存储库。然后,您将希望教授您的笔记本电脑Git存储库有关这两个GitHub存储库的知识。@torek ahhhhhhh!!只有当所述新分支基于与您的其他分支不同的远程分支时,才有必要这样做。在每个分支创建时都不需要这样做,不。@Romanvaleri感谢您的解释。请问你能告诉我遥控器是什么吗?你是说Git服务器是否在另一台主机上?这里我假设你的遥控器在github上。这是本地存储库的远程副本。这里的关键是,您正在阅读的指南是针对与您的情况不同的情况的。特别是当您决定使用公共GitHub存储库时,您需要三个存储库:原始GitHub存储库、GitHub上的fork存储库和您自己系统上的存储库,例如笔记本电脑上的存储库。然后,您将希望教授您的笔记本电脑Git存储库有关这两个GitHub存储库的知识。@torek ahhhhhhh!!谢谢你的回答。然而,你能解释一下为什么我甚至需要担心这个上游的名字吗?我不明白那是什么。为什么我不能创建我的新分支并通知Git。@user997112上游是远程存储库上的一个实际分支,因此您可能想要控制它的名称。正如您所注意到的,它默认与您的本地分支同名,但是您可以让两个本地分支remote1 master和remote2 master指向两个单独的存储库,它们都被称为master。谢谢您的回答。然而,你能解释一下为什么我甚至需要担心这个上游的名字吗?我不明白那是什么。为什么我不能创建我的新分支并通知Git。@user997112上游是远程存储库上的一个实际分支,因此您可能想要控制它的名称。正如您所注意到的,它默认与您的本地分支同名,但是您可以让两个本地分支remote1 master和remote2 master指向两个单独的存储库,它们都被称为master。