一开始,我的git(大概)流程
git status
git branch
git add .
git commit -m "myProject_machuang"
git push origin machuang
一开始工作的时候,可能轮不到你合并,这些命令已经满足基本版本控制需求了 :-)
查看远程分支
git branch -a
拉取已经提交的分支
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git fetch
remote: Counting objects: 101, done.
remote: Compressing objects: 100% (60/60), done.
remote: Total 101 (delta 76), reused 61 (delta 40)
Receiving objects: 100% (101/101), 21.86 KiB | 0 bytes/s, done.
Resolving deltas: 100% (76/76), completed with 25 local objects.
From git.4000669696.com:myProject
64f7dcf..8059f6b sunjiankui -> origin/sunjiankui
* [new branch] wanglei -> origin/wanglei
ec419a7..eb2fb9a wangze -> origin/wangze
* [new branch] wujian -> origin/wujian
e13f70d..83761b7 zhangyuchao -> origin/zhangyuchao
合并
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git merge origin/sunjiankui
合并后,检查冲突:
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git diff
有冲突会爆出来,比如:
CONFLICT (content): Merge conflict in app/Http/routes.php
打开编辑器,处理了冲突之后,添加,提交被修改的文件到暂存区。
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git add .
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git commit -m "merge wanglei"
[machuang 3851ca1] merge wanglei
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git diff
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git status
On branch machuang
nothing to commit, working directory clean
合并完所有的分支,这是可以提交到主分支origin/master了。
git push origin machuang:master
注意,如果合并(git merge)的时候有冲突,即使是缓存冲突,git就不会自动提交,怎么办?
需要手动add,commit,然后工作区干净了,就可以进行push操作了。另外这个命令可以查看发生冲突的地方:
git diff
//vi 处理冲突过程
git add .
git commit -m 'anything is ok! 2016_11_10'
如果自己的远程分支推不上去,怎么办?
可以先推到其他的一个分支,让master来合并。
git push origin machuang:ma
删除远程分支命令:
git push origin --delete machuang
注意:
1.开发之前要记得先拉取origin/master的最新版本,这样写的东西不会和origin/master产生冲突。
2.有时候推到自己的远程分支上,推不上去,可能真的是网速太慢的问题。
3.当在服务器上调试完了之后,不需要服务器上的修改,遥测小的时候,一条命令还原它:
git checkout -- .
后记
我整理文章的初衷并不是做一个git命令大全,而是做一个实用技巧的整理,让初学者不用在遇到报错的时候,只有删掉项目重新拉取这一个办法。
再见 ;-》