用于git remote add
将第二个远程添加到本地存储库。这些命令会将您的服务器端 gitorious 克隆添加为称为“个人”的远程,并从中获取分支引用:
git remote add personal <path_to_server_side_clone>
git fetch personal
你甚至不使用不同的分支。在实践中,您的历史记录在工作日将如下所示(仅针对单个分支进行了简化):
origin/master
|
A-B-C-D-E-F-G master
|
personal/master
在上图中,origin
的 master 分支指向 commit E
,personal
' 指向D
, 而你本地master
的分支提示是G
. 假设origin
的稳定性非常重要,即只有在它通过您机器上的测试套件后才推送它。你仍然想保存你的日常工作,是吗?这正是您的personal
存储库的目的。git push personal master
像这样更改图表:
origin/master
|
A-B-C-D-E-F-G master
|
personal/master
personal
遥控器和您的master
本地副本master
现在已同步。运行测试套件后,然后发出git push origin master
,产生以下状态:
origin/master
|
A-B-C-D-E-F-G master
|
personal/master
在实践中,您可以将任何一组分支推送到远程,在它们之间共享,或者选择保持一个干净而一个充满半成品的主题分支。由你决定。我确实建议使用像tig
or之类的历史可视化软件gitk
,这两者都可以让您轻松地可视化远程状态的位置。
你可以随心所欲地采用这个想法。在工作中,我的每个同事(我们也使用 gitorious)都有一个遥控器,他们都有个人服务器端克隆。这是一种非常简单的共享代码的方法,同时仍然维护了一个有福的生产存储库。几乎任何工作流程都可以从个人远程克隆中受益。