好的,在看到PJ Hyett的这篇文章之后,我决定跳到最后并与Git一起去.
所以我需要的是初学者对Git 的实用指南."初学者"被定义为知道如何处理编译器的人,在某种程度上理解Makefile是什么,并触及源代码控制而不理解它.
"实用"被定义为这个人不想详细了解Git在后台做什么,甚至不关心(或知道)它是分布式的.您的回答可能暗示了可能性,但尝试瞄准想要在备份和安全的"服务器"上保留"主"存储库的初学者,并将其本地存储库视为仅仅是"客户端"资源.
所以:
两个程序员A和B正在使用github托管的repo开发一个项目:
分支机构存在.
程序员A基于最新的master创建devBranchA
master$ git checkout -b devBranchA
Run Code Online (Sandbox Code Playgroud)
程序员B根据最新的master创建devBranchB
master$ git checkout -b devBranchB
Run Code Online (Sandbox Code Playgroud)
他们决定尽可能将稳定的变化合并到主人.
商定的工作流程是:
[在devBranch上]
git commit -m 'Stuff to make branch stable enough to merge'
git checkout master
git pull origin master
git merge devBranch [fix merge conflicts if any]
git checkout devBranch
git commit -m 'New cool stuff'
Run Code Online (Sandbox Code Playgroud)
但是,如果自上次合并后没有要提交的提交,则无法将devbranch合并回master(除非创建了新的dev分支,而不是重新使用旧的分支)
在这种情况下,当程序员B将他的工作合并到主分支时,它将不是当前的预期主服务器,而是合并之前的主服务器状态.
如果没有临时提交,有没有办法自动强制主分支在合并时将自己更新到dev分支的头部?
使用git和集中式github存储库时,预期的多用户工作流程是什么?我觉得好像我没有使用git,因为它是打算使用的.