繁体   English   中英

Git远程分支跟踪

[英]Git Remote Branch tracking

什么是一体(或至少更简单)的方法来完成此任务? 基本上,我想创建一个分支,但是要对其进行跟踪,以便可以将更改作为备份推送到中央存储库。

git branch BranchName
git push origin BranchName
git -d BranchName 
git branch --track BranchName origin/BranchName

我已经做了很多Google&SO搜索,但是我对设置远程分支并跟踪它们的常规描述感到困惑。

跟踪分支的正常用途是使您可以从中获取它们。 如果要推送到远程进行备份,则可能希望所有分支都在那里,是吗? 因此,您可以这样做:

git config remote.backup.mirror true

然后,每当您运行git push backup ,它将默认为git push --mirror backup的行为,该行为git push --mirror backup 所有引用(不仅是所有分支-所有标记,所有其他远程分支以及所有内容)。

如果您不想走那么远,仍然可以这样做:

git push --all backup

这将推动所有分支,但不会推动其余所有引用。

最后,如果您确实只想推送一个分支……那么,基本上,您应该始终这样做:

git push origin backup-branch

如果您真的想做的话,唯一可以使它更短的方法就是使其成为git push进行的默认操作。 没有参数的git push的行为有四个选项:

  • 没有什么不推任何东西。
  • 匹配推所有匹配的分支。 在两端具有相同名称的所有分支都被认为是匹配的。 这是默认值。
  • 跟踪将当前分支推到其上游分支。
  • 当前将当前分支推送到同名的分支。

您可以使用git config push.default <value>来设置首选的。 如果将其更改为tracking ,则将备份分支配置为tracking分支将允许您不带任何参数地推送它,但前提是已将其检出。 而且它可以防止您使用git push一次推送多个分支(默认行为,这确实非常不错)。 因此,如果您确实想这样做,则确实需要将分支设置为跟踪分支。 您可以略微简化一下方法:

git branch backup-branch
git push origin backup-branch
# most elegant way:
git branch --set-upstream backup-branch origin/backup-branch
# or this:
# git branch -f backup-branch origin/backup-branch
# or this:
# git config branch.backup-branch.remote origin
# git config branch.backup-branch.merge refs/heads/backup-branch

我使用此网站http://git-wt-commit.rubyforge.org/git-publish-branch供我自己使用(经过大量搜索后)。

该过程归结为:

git branch *branchname*
git push origin *branchname*
git config branch.*branchname*.remote origin
git config branch.*branchname*.merge *branchname*

我的案例很基本,但是如果您深入研究链接中的代码,我相信它对于更复杂的案例会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM