使用 Git,在我的代码提交合并到 master 分支后,我是否删除我的远程分支,再次克隆 master 并检出下一个分支?
With Git, after my code commits are merged to the master branch, do I delete my remote branch, clone master again and checkout the next branch?
我知道 git pull origin master
只会拉入并将代码合并到我当前的远程分支。最好的做法是删除我的提交合并到 master 的分支,然后重新克隆更新的 master 分支并再次 git checkout -b [next branch name]?
吗?`
如果该分支是功能分支,并且该功能已完成,那么是的,删除分支(both locally and on the remote)是避免旧分支堆积的好做法。
如果分支代表了长期的开发工作(例如 'dev' 代表 'development'),那么您可以继续使用它,即使在合并后也是如此。
收件人:无需重新克隆。
如果您相对确定地知道(就像 master 自上次拉动以来已经显着)您将永远不需要再次使用该分支,请务必删除它。每当我需要选择一个特定的分支和 运行 git 分支时,我经常删除分支,它显示了大多数分支的列表,对我来说显示了上次清理该地方时的所有混乱。
您的下一步应该是 运行 git checkout master
。根据上游的回购以及您是否在分叉上将决定您的下一步。顺便说一下,有很多方法可以完成你所寻求的,但我想帮助你,所以我会建议初学者 git 流程到 git
开始。
如果你在分叉上:
- 现在尝试
git fetch upstream
。它将拉入所有上游分支。
- 然后你可以 运行
git merge upstream master
,这将使你的本地分叉恢复同步。
- 返回主分支 运行
git checkout master
这可能是您已经知道的命令。这意味着,切换回 master
分支。
- 您可以向上推送 master 分支的内容,以便您的远程分支是最新的。
如果您不在分叉上,只需将 upstream
替换为 origin
。
当然,您可以使用 git pull master 跳过第 1 步和第 2 步,但我想强调 fetch 为您提供的功能,让您了解其他人在远程仓库中所做的工作。这种可见性对于刚起步的人来说非常有帮助。希望对您有所帮助!
Steve Smith's blog on why you should delete branches is great:
我知道 git pull origin master
只会拉入并将代码合并到我当前的远程分支。最好的做法是删除我的提交合并到 master 的分支,然后重新克隆更新的 master 分支并再次 git checkout -b [next branch name]?
吗?`
如果该分支是功能分支,并且该功能已完成,那么是的,删除分支(both locally and on the remote)是避免旧分支堆积的好做法。
如果分支代表了长期的开发工作(例如 'dev' 代表 'development'),那么您可以继续使用它,即使在合并后也是如此。
收件人:无需重新克隆。
如果您相对确定地知道(就像 master 自上次拉动以来已经显着)您将永远不需要再次使用该分支,请务必删除它。每当我需要选择一个特定的分支和 运行 git 分支时,我经常删除分支,它显示了大多数分支的列表,对我来说显示了上次清理该地方时的所有混乱。
您的下一步应该是 运行 git checkout master
。根据上游的回购以及您是否在分叉上将决定您的下一步。顺便说一下,有很多方法可以完成你所寻求的,但我想帮助你,所以我会建议初学者 git 流程到 git
开始。
如果你在分叉上:
- 现在尝试
git fetch upstream
。它将拉入所有上游分支。 - 然后你可以 运行
git merge upstream master
,这将使你的本地分叉恢复同步。 - 返回主分支 运行
git checkout master
这可能是您已经知道的命令。这意味着,切换回master
分支。 - 您可以向上推送 master 分支的内容,以便您的远程分支是最新的。
如果您不在分叉上,只需将 upstream
替换为 origin
。
当然,您可以使用 git pull master 跳过第 1 步和第 2 步,但我想强调 fetch 为您提供的功能,让您了解其他人在远程仓库中所做的工作。这种可见性对于刚起步的人来说非常有帮助。希望对您有所帮助!
Steve Smith's blog on why you should delete branches is great: