[英]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.