git merge --no-f -m "change" wmsj100
- git還是建議在自己的分支上面進(jìn)行代碼開發(fā)瘪阁,然后把完成一部分的代碼推送到git庫(kù)的自己的分支上面去收苏,這樣就沒(méi)有代碼丟失的風(fēng)險(xiǎn)了躏嚎,然后等自己的版塊代碼完成之后就把分支代碼合并到master分支上面,master是所有分支中最穩(wěn)定的。
- 分支合并的時(shí)候使用
git merge wmsj100
這樣的話汰具,wmsj100分支上面的提交就全部被清除了,只剩下master的提交點(diǎn)了菱魔。如果想要把wmsj100分支上面的提交記錄也保留下來(lái)的話留荔,就是用這個(gè)命令——git merte --no-ff -m ""new branch" wmsj100
這個(gè)的意思就是說(shuō)不要進(jìn)行g(shù)it默認(rèn)的快速合并機(jī)制,而是重新提交并且命名為“new branch”澜倦,然后合并的分支是wmsj100聚蝶; - 合并之后可以通過(guò)命令——
git log --graph --pretty=oneline
進(jìn)行查看
- 因?yàn)檫@樣的合并保留了分支的提交記錄,所以可以隨時(shí)會(huì)退到分支的提交點(diǎn)藻治。
git stash 代碼存儲(chǔ)
當(dāng)工作只進(jìn)行到一半的時(shí)候碘勉,還沒(méi)發(fā)提交,預(yù)計(jì)還得一天時(shí)間桩卵。但是验靡,必須要在倆個(gè)小時(shí)內(nèi)修復(fù)bug,怎么辦雏节?
git stash——可以把當(dāng)前工作現(xiàn)場(chǎng)“存儲(chǔ)”起來(lái)胜嗓,等以后恢復(fù)現(xiàn)場(chǎng)后繼續(xù)工作:
git stash
只需要輸入
git stash
即可把當(dāng)前的工作狀態(tài)存儲(chǔ)起來(lái)。當(dāng)完成bug修復(fù)并且切換會(huì)自己的分支時(shí)候git checkout wmsj100
钩乍,然后輸入命令git stash list
可以查看存儲(chǔ)的版本辞州,然后使用git stash apply
來(lái)恢復(fù),但是恢復(fù)后寥粹,stash內(nèi)容并不刪除变过,而通過(guò)命令git stash drop
來(lái)刪除存儲(chǔ)。另一種方式是通過(guò)輸入命令
git stash pop
恢復(fù)的同時(shí)把stash內(nèi)容也刪除了排作;git branch -D wmsj100——強(qiáng)行刪除一個(gè)分支牵啦;
開發(fā)一個(gè)新feature,最好新建一個(gè)分支妄痪;
如果要丟棄一個(gè)沒(méi)有合并過(guò)得分支哈雏,可以通過(guò)
git branch -D wmsj100
強(qiáng)行刪除。
git push and git pull false
- 首先,可以試圖用
git push origin wmsj100
推送自己的修改裳瘪; - 如果推送失敗土浸,則因?yàn)檫h(yuǎn)程分支比你本地更新,需要先用
git pull
試圖合并; - 如果合并有沖突,則解決沖突徘钥,并在本地提交;
- 沒(méi)有沖突或者是解決掉沖突后还最,再用
git push origin wmsj100
推送就能成功!
如果
git pull
提示“no tracking information",則說(shuō)明本地分支和遠(yuǎn)程分支的鏈接沒(méi)有創(chuàng)建毡惜,用命令git branch --set-upstream branch-name origin/branch-name
拓轻。
小結(jié):
- 查看遠(yuǎn)程庫(kù)信息,使用`git remote -v;
- 本地新建的分支如果不推送到遠(yuǎn)程经伙,對(duì)其他人就是不可見的扶叉;
- 從本地推送分支,使用
git push origin branch-name
帕膜,如果推送失敗枣氧,先用git pull
抓取遠(yuǎn)程的提交; - 在本地創(chuàng)建和遠(yuǎn)程對(duì)應(yīng)的分支垮刹,使用
git checkout -b branch-name origin/branch-name
达吞,本地和遠(yuǎn)程分支的名稱最后一致; - 建立本地和遠(yuǎn)程分支的關(guān)聯(lián)危纫,使用`git branch --set-upstream branch-name origin/branch-name;
- 從遠(yuǎn)處抓取分支宗挥,使用
git pull
,如果有沖突种蝶,要先處理沖突。