當(dāng)前位置:首頁(yè) >  站長(zhǎng) >  編程技術(shù) >  正文

Git常用場(chǎng)景使用方法

 2020-11-16 16:22  來(lái)源: 腳本之家   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

這篇文章主要介紹了Git常用場(chǎng)景使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下。

1. 本地存在多個(gè)commit:

【場(chǎng)景】代碼和遠(yuǎn)程倉(cāng)庫(kù)一致,本地修改后,存在多次本地commit,直接push最新的提交,push成功,但本地多次commit記錄也會(huì)記錄到遠(yuǎn)程倉(cāng)庫(kù)中

【舉例】第一次提交:添加File1文件,文件內(nèi)容666666

第二次提交: 添加File2文件,文件內(nèi)容888888,修改File1內(nèi)容

2. 遠(yuǎn)程倉(cāng)庫(kù)代碼回退:

先本地版本回退:git reset commitid

本地回退版本強(qiáng)推遠(yuǎn)程倉(cāng)庫(kù):git push -f

3. rebase操作:

【場(chǎng)景】代碼和遠(yuǎn)程倉(cāng)庫(kù)一致,本地修改后存在多次本地commit,本地多次提交的代碼沒(méi)有沖突,rebase合并本地多次commit

【舉例】如1中例子,第二次提交為最新提交,希望只保留第二次提交

【操作】3-1. git rebase -i commitid

3-2. 之后會(huì)進(jìn)入類似vim的編輯器(i插入修改,修改完:wq保存)

pick:表示需要提交的commit記錄|squash:表示合并到前一個(gè)commit

reword:使用本次提交,但修改commit信息

3-3. 之后會(huì)進(jìn)入提交信息編輯頁(yè),修改保存,rebase完畢,合并成功

【注意】 命令中commitid是兩次提交的前一個(gè)commitid

第一個(gè)pick不可修改,可以將后面的squash

如果頁(yè)面顯示noop,就是你的commitid選的是最新提交的commit,這樣是不對(duì)的

4. push沖突

【場(chǎng)景】本地commit了,但在push之前,遠(yuǎn)程代碼被別人修改過(guò)了,代碼沖突的情況處理

【舉例】添加一個(gè)File3,提交前手動(dòng)修改遠(yuǎn)程倉(cāng)庫(kù)代碼(模擬別人提交修改了遠(yuǎn)程倉(cāng)庫(kù)代碼),遠(yuǎn)程倉(cāng)庫(kù)代碼被修改后,本地push

【操作】4-1. 添加File3

4-2. 修改遠(yuǎn)程倉(cāng)庫(kù)代碼

4-3. 本地push代碼,提示沖突,選擇Merge,直接push成功

4-4 . Merge后推送到遠(yuǎn)端有兩條commit(因?yàn)檫@次push只修改了File3,并沒(méi)有修改File1,Merge后相當(dāng)于先拉取代碼再提交,所以直接push成功)

【舉例】添加一個(gè)File3,并修改File1,提交前手動(dòng)修改遠(yuǎn)程倉(cāng)庫(kù)代碼(模擬別人提交修改了遠(yuǎn)程倉(cāng)庫(kù)代碼),遠(yuǎn)程倉(cāng)庫(kù)代碼被修改后,本地push需要手動(dòng)解決沖突。

【操作】4-a. (版本回退后)添加File3,修改File1

4-b. 修改遠(yuǎn)程倉(cāng)庫(kù)代碼

4-c. 本地push代碼,提示沖突,選擇Merge后手動(dòng)解決沖突

Accept Yours: 該文件選擇你的版本合并到遠(yuǎn)端

Accept Theirs: 該文件選擇遠(yuǎn)端的版本,即放棄該文件的修改

Merge :對(duì)比本地和遠(yuǎn)端的差異,手動(dòng)解決沖突,一般都Merge

左邊是本地的修改,右邊是遠(yuǎn)端的代碼,中間是最終推送遠(yuǎn)端

看情況對(duì)比修改

修改確認(rèn)后可能會(huì)出現(xiàn)push被拒絕,再重新提交一次就好了。

 

【建議】本地先拉取代碼,如果沖突手動(dòng)解決沖突,然后再push

【注意】沒(méi)有commit就拉取代碼,并且Accept Theris,可能會(huì)把本地修改過(guò)的代碼覆蓋掉,導(dǎo)致修改的代碼丟失,注意備份。

-------------------------------------------------想到別的場(chǎng)景后續(xù)再補(bǔ)充------------------------------------------------------------

總結(jié)

到此這篇關(guān)于Git常用場(chǎng)景使用的文章就介紹到這了,更多相關(guān)Git常用場(chǎng)景使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

文章轉(zhuǎn)自腳本之家,原文鏈接:https://www.jb51.net/article/193000.htm

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
git使用的基本流程
git放棄本地修改

相關(guān)文章

熱門(mén)排行

信息推薦