背景
在文章我的版本控制之旅中提到目前是协作式地使用git。
因为在这之前,使用git的方式比较简单:
只需要维护自己写的文件即可,不与其他人共同维护同一个文件。
基于1,不需要创建自己的分支,在master分支上维护代码即可。
现如今:
有一部分文件是需要同事们共同维护的,这也比较合理和常见,比如说一些公共基础文件、配置文件等;
为了使master分支的代码更容易管理,有一个规定是不允许直接在master分支进行push,应在自己的分支merge到master。
以上,使得在使用git时会有一些与之前不同的操作,如下做个简单的总结。
命令与步骤
假设:
远程仓库地址为;
自己要建的分支是;
如果第一次操作,需要从远程仓库将代码克隆到本地:
。如果已经克隆了下来,则只需要更新即可:。
创建并切换到自己的本地分支:
更新文件,在本地环境下测试通过,保证要提交的文件的可用性;
将文件缓存起来,以便在下一次提交:,表示所有文件,也可以指明要缓存的文件。
提交缓存起来的文件:;
创建远端同名分支,并将本地内容推送到远端:。
这时,你自己写的代码已经提交到了你远端的分支,不用担心本地更新的文件丢失了。但我们的最终目的是把代码提交到master分支,所以还需要继续操作:
切换到本地master分支,拉取最新的代码。因为刚才你操作上述步骤的过程,其他同事可能向master分支提交过代码了(刚才的过程比较简短,实际使用时,这个过程可能会持续好几天):执行,然后执行;
切换到自己的本地分支,把master分支的代码merge到自己的本地分支:执行,然后执行;
如果存在冲突,则需要解决冲突,此处略。
如果执行时文件确实有改变,则需要将这部分内容提交并推送到自己的远程分支。执行命令,再执行命令,然后再。这时,你的本地分支和你的远程分支保持一致,且包含了master分支的差异。
再一次对本地分支的文件进行测试,保证融合了master分支差异的文件能够发挥应有的效果。
从自己的远程分支向远程分支merge文件。目前项目的代码都是靠管理的,远程分支间的merge是通过的来实现的,操作步骤略。
以上是如今使用git进行版本控制的基本步骤,至于为什么这么做还不甚了解,需要更多的练习、总结、思考和交流。
其它常用命令
查看当前有多少分支:
切换分支:
查看当前变化了的文件:
查看文件都有哪些变化:
缓存和提交文件也可以通过一条命令解决:
参考链接
https://git-scm.com/docs
领取专属 10元无门槛券
私享最新 技术干货