<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 實(shí)用干貨分享(3)- Git常用操作干貨分享

實(shí)用干貨分享(3)- Git常用操作干貨分享

發(fā)布人:中電金信人 時(shí)間:2022-06-05 來(lái)源:工程師 發(fā)布文章
實(shí)用干貨分享(3)- Git常用操作干貨分享


官方學(xué)習地址


https://git-scm.com/book/zh/v2

實(shí)用干貨分享(3)- Git常用操作干貨分享


簡(jiǎn)單的代碼提交流程


1. git status 查看工作區代碼相對于暫存區的差別;

2. git add . 將當前目錄下修改的所有代碼從工作區添加到暫存區 . 代表當前目錄;

3. git commit -m ‘注釋’ 將緩存區內容添加到本地倉庫;

4. git push origin master 將本地版本庫推送到遠程服務(wù)器;

5. origin是遠程主機,master表示是遠程服務(wù)器上的master分支,分支名是可以修改的。


防止出錯的步驟


1. git add xx/xxx/file1 xx/xx/file2;

2. git stash 將本地修改存儲起來(lái);

3. git pull 從倉庫獲取最新代碼;

4. git stash pop stash@{0} 將本地的代碼和遠程獲取的合并(這里可能提示沖突conflict);

5. git status 看哪幾個(gè)有沖突,如果沒(méi)沖突,→8 commit,push, 如果沖突→6;

6. git difftool xx/xxx/file3 喚起對比工具,將遠程的代碼段合并到本地的文件中;

7. git status 看剛才修改的文件有沒(méi)有add,如果是紅色,add一下;

8. git commit -m "姓名 修改某某功能";

9. git push origin head:refs/for/dev_core。

實(shí)用干貨分享(3)- Git常用操作干貨分享


回退流程


【參考】

https://www.cnblogs.com/wpcnblog/p/9945732.html


現在先假設幾個(gè)環(huán)境,本文將會(huì )給出相應的解決方法:


1. 本地代碼(或文件)已經(jīng)add但是還未commit;

2. 要回退的commit的代碼已經(jīng)commit了,但是還未push到遠程個(gè)人repository;

3. 要回退的commit的代碼已經(jīng)push到遠程的個(gè)人分支,但是還未merge到公共的repository;

4. 要回退的commit的代碼已被merge(合入)到公共的repository。


git reset有三個(gè)參數soft、mixed、hard分別對應head的指針移動(dòng)、index(暫存區)以及工作目錄的修改,當缺省時(shí),默認為mixed參數。


git revert與reset的區別是git revert會(huì )生成一個(gè)新的提交來(lái)撤銷(xiāo)某次提交,此次提交之前的commit都會(huì )被保留,也就是說(shuō)對于項目的版本歷史來(lái)說(shuō)是往前走的。而git reset 則是回到某次提交,類(lèi)似于穿越時(shí)空。


沖突解決


【解決本地和遠程倉庫沖突,當需要pull時(shí)提示本地和遠程倉庫有沖突時(shí)】


1. 將本地修改的文件添加到暫存區

git add filename

2. 將本地修改存儲起來(lái)

git stash

可以通過(guò)git stash list查看暫存的內容stash@{0}就是剛才修改的內容

3. pull遠程倉庫

git pull

git pull <遠程主機名> <遠程分支名>:<本地主機名>

4. 還原暫存的內容

git stash pop stash@{0}


撤銷(xiāo)檢查


撤銷(xiāo)對某個(gè)文件的修改,還原成歷史版本,相當于cc的撤銷(xiāo)檢出

git checkout -- xxx.java (帶--)


刪除文件


git刪除代碼的時(shí)候務(wù)必使用git -rm -r

不要使用rm -rf等linux命令,或者在文件夾里面刪除,然后再git add

這樣在gerrit會(huì )顯示沖突(雖然強行提交也沒(méi)有問(wèn)題,但是非常不建議這樣操作)


去掉換行符自動(dòng)轉換


git config --global core.autocrlf false (!關(guān)閉自動(dòng)轉換換行符命令)

git config --global core.safecrlf true


防止提交字符亂碼


git config --global gui.encoding utf-8

git config --global core.quotepath false

git config --global i18n.commit.encoding utf-8

git config --global i18n.logoutputencoding utf-8


查看用戶(hù)名和郵箱地址


$ git config user.name

$ git config user.email


修改用戶(hù)名和郵箱地址


$ git config --global user.name "username"

$ git config --global user.email "email"


撤回commit操作


寫(xiě)完代碼后,我們一般這樣:

git add . //添加所有文件

git commit -m "本功能全部完成"

執行完commit后,想撤回commit,如何操作?

git reset --soft HEAD


如何忽略.gitignore文件本身


git rm -r --cached .gitignore

git add .

git commit -m 'update .gitignore'


在使用Git的過(guò)程中,時(shí)常會(huì )出現這樣一種情況,明明已經(jīng)提前寫(xiě)好了規則,但是卻不起作用,導致每次仍需要重復提交規則,讓人難以忍受。


其實(shí)是因為這個(gè)文件里的規則對已經(jīng)追蹤的文件是沒(méi)有效果的,所以我們需要使用rm命令清除一下相關(guān)的緩存內容。這樣文件就會(huì )以未追蹤的形式出現,然后再重新添加提交一下規則,此時(shí)再運行一下git status指令就可以發(fā)現,.gitignore文件變?yōu)榱藆ntrack。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: 干貨

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>