git 常用命令

總結(jié)

git 操作相關(guān)

1、創(chuàng)建新分支并切換到該新分支以及常用git操作

git checkout -b newfeature

查看文件修改情況 :git status

提交所有已更改文件 :git add .

提交本地文件到本地倉庫:git commit -m "XXX"

提交本地更改到遠(yuǎn)程倉庫:git push 。如果遠(yuǎn)程倉庫沒有合本地本分支對應(yīng)的分支,使用 git push --set-upstream origin master(省略形式為:git push -u origin master)

2、添加其他的倉庫作為遠(yuǎn)程倉庫 ,可將倉庫的代碼同步到其他倉庫

git remote add xyz 

git remote add xyz  git@git.corp.xxx.git

git remote // 查看遠(yuǎn)程的分支

git push xyz // 將當(dāng)前分支推送到對應(yīng)的遠(yuǎn)程倉庫
3、git 回退代碼
git log 

git reset --hard e9c7f41d9cd54e659de7e412fbc05a0dd9179101

git push -f -u origin master // 強(qiáng)制推送
4、Git message 提交 Type
* feat:new feature,新的功能
* fix:bug fix
* refactor:代碼重構(gòu),沒有功能修改
* optimize:性能優(yōu)化、增加日志打點(diǎn)等,沒有功能修改
* style:代碼格式修改,沒有任何代碼語義的變化
* doc:文檔、注釋修改
* test:添加或者修改測試用例,沒有線上代碼修改
* build:發(fā)布新版本、pom 修改、等構(gòu)件發(fā)布,沒有線上代碼修改
* revert:之前提交的revert,由 git revert 命令生成
* WIP:Work In Progress,還沒有完成的功能,為了盡可能讓提交保持合適的大小

PS. 按照上述類型提交時(shí)方式為: git commit -m "feat: 新增成員tab" (feat后英文冒號空格)

PPS. 可安裝包實(shí)現(xiàn)git cz 命令,自動提示以上幾種命令。使用gitmoji -c 提交帶提交類型emoji :http://www.mianshigee.com/project/gitmoji-cli

5、git將當(dāng)前分支上修改的東西轉(zhuǎn)移到新建分支

不需要在A分支做commit,只需要在A分支新建B分支,然后切換過去。這個(gè)時(shí)候你會發(fā)現(xiàn)修改的東西在A,B分支都有。這個(gè)時(shí)候在B分支commit,那么這些修改保留在B分支上,再切換到A分支上會發(fā)現(xiàn)修改都沒有保留下來。

6、master分支的代碼領(lǐng)先自己的分支,git 如何把master分支代碼合并到自己的分支
1.首先切換到主分支

git checkout master

2.使用git pull 把領(lǐng)先的主分支代碼pull下來

git pull

3.切換到自己的分支

git checkout xxx(自己的分支)

4.把主分支的代碼merge到自己的分支

git merge master

5.git push推上去ok完成,現(xiàn)在 你自己分支的代碼就和主分支的代碼一樣了

git push origin 自己分支名

PS. 開新分支之前要先pull,就是防止別人在此之前往master分支中提交新的代碼,等你提交完push的時(shí)候會發(fā)生沖突。多人合作寫代碼前,一定要先pull,養(yǎng)成一個(gè)好的習(xí)慣。

7、 解決合并的沖突

依次找到?jīng)_突的文件,搜索“>>>>>” 找到current change 和 incoming change ,對比更改的文件,小心確認(rèn)。以免merge丟了代碼。(同事的一次優(yōu)化代碼弄丟代碼上線bug)

8、同一個(gè)倉庫,拉取別人分支的代碼到本地
先切換到master
執(zhí)行 git fetch // 使得本地分支和遠(yuǎn)程所有分支同步
然后同步同事的B分支到我的本地:git fetch origin B
切換到 B :git checkout B
9、更改了遠(yuǎn)程倉庫的地址,本地倉庫實(shí)現(xiàn)關(guān)聯(lián)新地址
git remote // 查看遠(yuǎn)程倉庫
git remote -v //查看遠(yuǎn)程倉庫地址
git remote set-url origin git@XXXX.git // 修改遠(yuǎn)程的地址
10、遷移倉庫(包括代碼、分支、提交記錄)
新倉庫要為空,三步操作git項(xiàng)目遷移。

git clone --bare http://域名/分組/倉庫名稱.git

cd 倉庫名稱.git

git push --mirror http://新域名/新分組/新倉庫名稱.git
11、本地暫存,不想提交到遠(yuǎn)程但是可以本地保存修改記錄
常用git stash命令:

(1)git stash save "save message"  : 執(zhí)行存儲時(shí),添加備注,方便查找,只有g(shù)it stash 也要可以的,但查找時(shí)不方便識別。

(2)git stash list  :查看stash了哪些存儲

(3)git stash show :顯示做了哪些改動,默認(rèn)show第一個(gè)存儲,如果要顯示其他存貯,后面加stash@{$num},比如第二個(gè) git stash show stash@{1}

(4)git stash show -p : 顯示第一個(gè)存儲的改動,如果想顯示其他存存儲,命令:git stash show  stash@{$num}  -p ,比如第二個(gè):git stash show  stash@{1}  -p

(5)git stash apply :應(yīng)用某個(gè)存儲,但不會把存儲從存儲列表中刪除,默認(rèn)使用第一個(gè)存儲,即stash@{0},如果要使用其他個(gè),git stash apply stash@{$num} , 比如第二個(gè):git stash apply stash@{1} 

(6)git stash pop :命令恢復(fù)之前緩存的工作目錄,將緩存堆棧中的對應(yīng)stash刪除,并將對應(yīng)修改應(yīng)用到當(dāng)前的工作目錄下,默認(rèn)為第一個(gè)stash,即stash@{0},如果要應(yīng)用并刪除其他stash,命令:git stash pop stash@{$num} ,比如應(yīng)用并刪除第二個(gè):git stash pop stash@{1} (ps,最好不要直接這么用,可能會丟失代碼,如果之后還想用這次的代碼的話。。)

(7)git stash drop stash@{$num} :丟棄stash@{$num}存儲,從列表中刪除這個(gè)存儲

(8)git stash clear :刪除所有緩存的stash
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容