实习这段时间使用了很多git指令来提交代码,简单记录一下日常使用的指令:
提交代码通常顺序:
1.git status 查看本地修改项
2.git add . 提交全部文件 (这个 .是全部文件)到暂存区
3.git commit -m ‘本次提交的说明’ 提交到本地仓库
4.git pull 从远程仓库拉代码 (完整版是 git pull origin 分支名)
5.git push 向远程仓库推代码 (完整版是 git pushl origin 分支名)
一些重要的说明:
1.为什么先pull再push?先pull再push后不会覆盖自己新写的代码吗?
答:先pull再push是一种比较保险的行为,因为在你开发的这段时间,别人可能已经开发出新一版的代码并提交到远程仓库,如果你不pull直接推的话,可能会产生冲突。先pull再push不会覆盖新写的代码,有两种情况,1是代码有冲突,那就跟别的开发者协商保留那些代码,然后再提交,2是没有冲突,自己的版本是最新的版本,不会被git覆盖。最好严格遵守 add -> commit ->pull ->push这个顺序,尤其记得先要commit再pull,最后push,commit之后本地git仓库才能真的知道你更新的代码,本地代码版本才会更高级,没有记录新版本就pull的话可能会覆盖某些代码或者造成冲突。
2.遇到冲突的情况怎么办?
答:在实习中遇到冲突时,就与其他开发者协商保留那些代码,我在工作中使用的软件是beyond compare来进行冲突代码的对比,根据行来进行代码的对比,如果远程仓库的代码片段你程序里没有,那么显然要保留,如果你的类或者文件远程仓库代码没有,那就应该提交上去,如果其他代码冲突,要跟其他开发者进行协商。
3.为什么 pull和push没有带分支名?
答:当你操作的分支,本地和远程仓库分支名相同时,就不用加分支名了。否则还是要使用完整的命令。
对于一些git命令的问题,可以参考下这篇文章:
为什么要先commit,然后pull,最后再push?而不是commit然后直接push?
还有一些分支命令:
- 查看分支:git branch 分支名
- 创建分支:git branch 分支名
- 切换分支:git checkout 分支名
- 合并分支:git merge 分支名
创建各种分支的目的就是为了不让开发功能的时各个版本的代码相互影响,本质上就是将代码复制了多份,随着各个分支的不断开发,最后再进行合并,本地仓库和远程仓库都各有自己的分支(即使是同名的也是两个不同的分支),如图所示,左面三个分支就相当于又复制两两份master的代码,然后再各自开发。
版权归原作者 wangyue_msn_86 所有, 如有侵权,请联系我们删除。