一開始,我的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命令大全,而是做一個實用技巧的整理,讓初學者不用在遇到報錯的時候,只有刪掉專案重新拉取這一個辦法。
再見 ;-》