git merge --no-f -m "change" wmsj100
- git還是建議在自己的分支上面進行代碼開發,然后把完成一部分的代碼推送到git庫的自己的分支上面去,這樣就沒有代碼丟失的風險了,然后等自己的版塊代碼完成之后就把分支代碼合并到master分支上面,master是所有分支中最穩定的。
- 分支合并的時候使用
git merge wmsj100
這樣的話,wmsj100分支上面的提交就全部被清除了,只剩下master的提交點了。如果想要把wmsj100分支上面的提交記錄也保留下來的話,就是用這個命令——git merte --no-ff -m ""new branch" wmsj100
這個的意思就是說不要進行git默認的快速合并機制,而是重新提交并且命名為“new branch”,然后合并的分支是wmsj100; - 合并之后可以通過命令——
git log --graph --pretty=oneline
進行查看
git合并分支 - 因為這樣的合并保留了分支的提交記錄,所以可以隨時會退到分支的提交點。
git stash 代碼存儲
當工作只進行到一半的時候,還沒發提交,預計還得一天時間。但是,必須要在倆個小時內修復bug,怎么辦?
git stash——可以把當前工作現場“存儲”起來,等以后恢復現場后繼續工作:
git stash
只需要輸入
git stash
即可把當前的工作狀態存儲起來。當完成bug修復并且切換會自己的分支時候git checkout wmsj100
,然后輸入命令git stash list
可以查看存儲的版本,然后使用git stash apply
來恢復,但是恢復后,stash內容并不刪除,而通過命令git stash drop
來刪除存儲。另一種方式是通過輸入命令
git stash pop
恢復的同時把stash內容也刪除了;git branch -D wmsj100——強行刪除一個分支;
開發一個新feature,最好新建一個分支;
如果要丟棄一個沒有合并過得分支,可以通過
git branch -D wmsj100
強行刪除。
git push and git pull false
- 首先,可以試圖用
git push origin wmsj100
推送自己的修改; - 如果推送失敗,則因為遠程分支比你本地更新,需要先用
git pull
試圖合并; - 如果合并有沖突,則解決沖突,并在本地提交;
- 沒有沖突或者是解決掉沖突后,再用
git push origin wmsj100
推送就能成功!
如果
git pull
提示“no tracking information",則說明本地分支和遠程分支的鏈接沒有創建,用命令git branch --set-upstream branch-name origin/branch-name
。
小結:
- 查看遠程庫信息,使用`git remote -v;
- 本地新建的分支如果不推送到遠程,對其他人就是不可見的;
- 從本地推送分支,使用
git push origin branch-name
,如果推送失敗,先用git pull
抓取遠程的提交; - 在本地創建和遠程對應的分支,使用
git checkout -b branch-name origin/branch-name
,本地和遠程分支的名稱最后一致; - 建立本地和遠程分支的關聯,使用`git branch --set-upstream branch-name origin/branch-name;
- 從遠處抓取分支,使用
git pull
,如果有沖突,要先處理沖突。