git:版本管理工具
从本地到远程。
从一个分支到多个分支再到一个分支。
所有的修改,包括新建分支,删除分支,都需要提交commit ,才能提交到远程,远程才和本地的资源同步。
一个分支到多个分支,如原分支为origin-branch , git branch new-branch 新建new-branch分支,git checkout new-branch 切换到new-branch分支,综合到一条命令,git checkout -b new-branch -b代表就可以理解为branch,在 new-branch 分支上做完时之后,需要合并到origin-branch分支,或别人更新了 origin-branch 分支的版本,我需要继续吧origin-branch分支跟新到new-branch分支,即用谁merge的问题。要把new-branch内容合并到origin-branch上去,需要切换到origin-branch,git checkout origin-branch,git merge new-branch,这是时候new-branch分支内容不变,origin变化。要把 origin-branch 别人更新的内容继续更新到我的new-branch分支,这时候需要在 new-branch分支上,git merge origin-branch,就OK,这时候origin-branch分支是不变的,不影响别人origin的开发,new-branch就变化了。
现在我的new-branch开发完了,合并并测试通过,也合并到了 origin-branch 上去,new-branch分支没用了,就删掉。这时候,切换到 origin-branch 或别的分支(因为自己肯定是不能删除自己的),git branch -d new-branch 就ok,-d 理解成delete。这就完成了,从无到有,然后再到无的过程。
要这么多的分支,就是要做到分支的内容互相切换,而分支的数量可以是无数多,可以是公司每个人一个分支,只要每个人在自己分支上,只要及时 git merge master ,那么各个员工之间就能保持同步,完成协同工作。自己分支上的那个工作做完了,合并到主分支上去,然后删掉自己的那个分支。最终一个项目完成,应该只存在 master 这一个分支。这就是 一生万物,万物归一的哲学。