柚子快報激活碼778899分享:git常用的命令集
目錄
1.下拉遠(yuǎn)端代碼:
? ? ?遠(yuǎn)端分支操作:
?????下拉遠(yuǎn)端資源:
2.同步遠(yuǎn)端最新分支
? ? ?方法1:fetch + rebase(推薦)
?????方法2:fetch
?????方法3:pull
3. 本地分支創(chuàng)建切換
4.查看代碼變動
5.臨時保存本地修改
6.將工作區(qū)代碼保存至?xí)捍鎱^(qū)
7.提交暫存區(qū)內(nèi)容至本地分支
8.查看代碼提交記錄
9.回退代碼至某已提交節(jié)點
10.將指定提交應(yīng)用到當(dāng)前本地分支
11.推送代碼
12.場景示例:
??????場景1: 修改commit4的提交簽名
??????場景2: 將commit5合并到commit3中
1.下拉遠(yuǎn)端代碼:
? ? ?遠(yuǎn)端分支操作:
? ? ? ?git remote? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看遠(yuǎn)端分支 ???????git remote -v? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看遠(yuǎn)端分支詳細(xì)信息 ???????git remote add <遠(yuǎn)端分支名>
?????下拉遠(yuǎn)端資源:
? ? ? ?git clone
2.同步遠(yuǎn)端最新分支
? ? ?方法1:fetch + rebase(推薦)
? ? ? ? git fetch origin release???????????????????#這個命令會從遠(yuǎn)程倉庫 origin 中獲取名為 release 的分支的最新提交,但不會將其合并到本地分支。它只會更新遠(yuǎn)程分支的引用,使得您可以查看遠(yuǎn)程分支的最新狀態(tài) ????????git rebase -i origin/master ?????????????#fetch之后需要rebase命令將這些更新合并到當(dāng)前分支。例如:以origin/master為基準(zhǔn)比較同步當(dāng)前未提交遠(yuǎn)端的修改,解決完沖突git add 需要 git rebase --continue
?????方法2:fetch
? ? ? ? git fetch origin release:release1 ???????#這個命令會從遠(yuǎn)程倉庫 origin 中獲取名為 release 的分支的最新提交,并將其合并到本地的 release1 分支
?????方法3:pull
? ? ? ? git pull --rebase????????????????????????#這個命令以遠(yuǎn)端為基準(zhǔn)合并當(dāng)前修改,rebase如果有沖突解決沖突add后需要git rebase --continue ????????git pull origin master:master1 ??????????#將遠(yuǎn)端master分支直接應(yīng)用到本地master1分支 ????????注:在執(zhí)行 git pull 命令時,Git 會自動執(zhí)行 git fetch 操作,以獲取遠(yuǎn)程倉庫的最新提交。因此,您不需要顯式地執(zhí)行 git fetch 命令來限制性地獲取更新。
3. 本地分支創(chuàng)建切換
? ? ? ? git branch??????????????????????????????????????????????#查看當(dāng)前本地分支 ????????git branch
????????git branch -D?
????????git checkout
4.查看代碼變動
????????git status??????????????????????????#查看未提交文件的變動 ????????git diff????????????????????????????#查看未提交文件詳細(xì)變動 ????????git diff commitId1 commitId3????????#查看兩個已提交的commit詳細(xì)變動 ????????git diff >> ~/patch.diff????????????#生成patch補丁文件 ????????git apply ??????????????????????????#命令用于將補丁文件應(yīng)用到當(dāng)前工作目錄或暫存區(qū)中,補丁文件可以是以 .patch 或 .diff 結(jié)尾的文件,其中包含了要應(yīng)用的更改內(nèi)容 ????????git diff
5.臨時保存本地修改
????????git stash ????????????????????// 保存當(dāng)前工作目錄的臨時狀態(tài) ????????git stash save "描述信息" ????// 保存當(dāng)前工作目錄的臨時狀態(tài),并添加描述信息: ????????git stash list ???????????????// 查看已保存的 stash 列表 ????????git stash apply ??????????????// 應(yīng)用最新的 stash ????????git stash apply
6.將工作區(qū)代碼保存至?xí)捍鎱^(qū)
? ? ? ? git add .??????????????????????????????????????????????????????????#保存所有變動 ????????git add -A????????????????????????????????????????????????????????#保存所有變動 ????????git add
7.提交暫存區(qū)內(nèi)容至本地分支
????????git commit -sm "msc" ???????????#提交至當(dāng)前分支版本庫,帶簽名 ????????git commit --signoff???????????????#提交至當(dāng)前分支版本庫,可添加MSC信息、賬戶郵箱,ISSUE信息 ????????git commit --amend??????????????#提交至當(dāng)前分支,可以沿用前面的提交信息(一般二次提交選用或查看提交明細(xì)選用)可修改 ????????git commit --amend --no-edit????#提交至當(dāng)前分支,默認(rèn)沿用前一次提交信息不做修改 ????????git mv --cached
8.查看代碼提交記錄
? ? ? ? git log??????????????????????????????#查看全部提交日志 ????????git log --stat?????????????????????#查看全部提交的文件修改列表日志 ????????git log
9.回退代碼至某已提交節(jié)點
? ? ? ? git reset --hard origin/master ???#回退到遠(yuǎn)端master分支的最新commit提交,放棄當(dāng)前工作區(qū)修改 ????????git reset HEAD~1 ?????????????????#撤銷最近的一次提交,并將更改保留在工作區(qū)中。這將移動當(dāng)前分支的指針到上一個提交,并取消暫存區(qū)的更改 ????????git reset --hard HEAD~1 ??????????#撤銷最近的一次提交,并丟棄工作區(qū)和暫存區(qū)的所有更改。這將移動當(dāng)前分支的指針到上一個提交,并重置工作區(qū)和暫存區(qū)為該提交的狀態(tài) ????????git reset
10.將指定提交應(yīng)用到當(dāng)前本地分支
? ? ? ? git cherry-pick
11.推送代碼
? ? ? ? git push origen master1:master ?????#從本地master1分支推到遠(yuǎn)端origen的master分支 ????????git push -f origen master1:master ??#從本地master1分支推到遠(yuǎn)端origen的master分支(強制) ????????git push -f origen HEAD:master ?????#從本地當(dāng)前分支推到遠(yuǎn)端origen的master分支(強制)
? ? ? ? git branch --set-upstream-to=
12.場景示例:
? ? ? ? commit5 9b***********************************bc1 (HEAD -> master1) ????????commit4 9b***********************************bc2 (origin/master) ????????commit3 9b***********************************bc3 ????????commit2 9b***********************************bc4 ????????commit1 9b***********************************bc5
??????場景1: 修改commit4的提交簽名
? ? ? ? git rebase -i commit3 ?????????????// 回到commit4操作位置? ????????git commit -s --amend ?????????????// 增加簽名 ????????git rebase --continue ?????????????// 繼續(xù)執(zhí)行continue
??????場景2: 將commit5合并到commit3中
? ? ? ? git reset commit5 ?????????????????// 撤銷commit5,保留工作區(qū) ????????git stash ?????????????????????????// 保存臨時修改 ????????git rebase -i commit2 ?????// 回到commit3操作位置 支持edit編輯 、s合并(相鄰2條提交)、drop刪除操作 ????????git stash pop ?????????????????????// 應(yīng)用臨時保存并刪除保存記錄 ????????git add . ?????????????????????????// commit1提交至緩沖區(qū) ????????git commit --amend --no-edit ??????// commit1提交至commit3上 ????????git rebase --continue ?????????????// 繼續(xù)執(zhí)行continue ????????git push -f origin ?HEAD:master ???// 強推遠(yuǎn)端master分支
? ? ? 場景3:git cherry-pick
? ? ? ? 作用:命令用于將一個特定的提交應(yīng)用到當(dāng)前分支的最新狀態(tài)上,尤其是在你需要從另一個分支中提取某個特定更改(提交)并應(yīng)用到當(dāng)前分支時
????????例如,如果你有一個名為 feature-branch 的分支,并且你想把其中的一個提交應(yīng)用到 main 分支上,你可以這樣做: git checkout main ? ? ? ? ? ? ? ? ? ?// 切換到 main 分支 git cherry-pick feature-branch^3 ? ? //feature-branch^3 指的是 feature-branch 分支上的第三個最近的提交
gitee相關(guān)參考引用:SSH 公鑰設(shè)置 | Gitee 產(chǎn)品文檔
????????
柚子快報激活碼778899分享:git常用的命令集
文章來源
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。