git 操作指令

列出當前所在的路徑

pwd

創(chuàng)建一個名稱為doc的文件夾

mkdir doc

進入doc文件夾

cd doc

查看git 文件管控狀態(tài)

git status

初始化git 目錄 【已經(jīng)創(chuàng)建好的項目】

git init

創(chuàng)建一個名稱為projectName的git倉庫【針對一個全空的倉庫創(chuàng)建】

git init projectName

查看git配置,local為本倉庫,global 為當前用戶的所有倉庫 , system 本系統(tǒng)的所有用戶

git config --list [--local | --global | --system]

添加git配置,用戶名稱

git config --global user.name ‘your name’

添加git配置,用戶郵箱

git config --global user.email ‘your email’

將文件 readMe、文件夾doc 加入到暫存區(qū)

git add readMe doc

把已經(jīng)被git 管控了的所有變更的文件都納入暫存區(qū)【不會提交新文件(untracked file)】

git add -u

將git管控的文件和新增的文件都添加到暫存區(qū)【不包含刪除的文件】

git add .

將git 管控的文件修改、新增、刪除都添加到暫存區(qū)【包含以上兩種命令的操作】

git add -A 或 git add -all

不經(jīng)過add的操作到暫存區(qū),直接提交commit操作

git commit -am'commit log'

查看所有分支的歷史

git log --all

圖形化查看所有分支的log

git log --all --graph

查看單行的簡潔log

git log --oneline

查看最近的四條簡潔log

git log --oneline -n4

查看所有分支最近5條簡潔的圖形化log

git log --oneline --all -n5 --graph

給文件重命名

git mv oldFileName newFileName

查看2d85sd文件的內(nèi)容

git cat-file -p 2d85sd

產(chǎn)看2d85sd文件的類型

git cat-file -t 2d85sd

覆蓋緩存區(qū)所有文件,還原最新的提交

git reset --hard

分離頭指針 具體為直接從一個commit直接 checkout 出來的分支(注意:不是checkout -b),此時該分支并沒有依賴任何一個分支,git 過段時間會自動清理這些分支,會導致代碼丟失,所以該操作主要用在 針對某個commit 上檢驗某種分案是否可行,如果可行,則執(zhí)行git branch newBranchName 2d8dk82 命令,則可以針對2d8dk82 該次的commit上新建一個名為newBranchName 分支

git checkout 2d8dk82 分離頭指針
git branch newBranchName 2d8dk82

進入圖形化頁面

gitk --all

** 列出當前目錄的所有文件追加 -al 查看文件信息,包括文件的類型與權限、大小、修改時間等**

ls [ -al ]

查看所有分支

git branch -av

根據(jù)某個分支checkout 并切換到該分支上 可以根據(jù)某個分支源上或者某個commit哈希值來進行創(chuàng)建分支(默認為當前分支上創(chuàng)建分支)

git checkout -b newBranchName [ sourceBranchName | commit哈希值 ]

對比兩個commit的差異 注意:末尾還可以跟上具體文件名,顯示該文件的差異

git diff commitID1 commitID2 【對比兩個commit的差異】
git diff HEAD commitID1 【對比HEAD 和commitID1 的差異】
git diff HEAD 【對比HEAD 和暫存區(qū)的差異】

保存現(xiàn)場代碼 應用場景:如果有一天,你要接到一個緊急的bug要處理,但是現(xiàn)在手頭上的這份代碼還沒寫完,又不想生成一個commit提交,那么可以使用stash 來保存現(xiàn)場代碼。當執(zhí)行完這句命令,你修改的代碼就會被臨時保存起來,然后恢復該分支最新的一個commit狀態(tài)。當你改完緊急的bug后,你可以通過恢復現(xiàn)場代碼來,恢復剛剛保存的現(xiàn)場代碼,繼續(xù)寫。

git stash 默認的保存方式,一般用下面這種比較好,可以描述現(xiàn)場代碼
git stash save stashName 保存為stashName的現(xiàn)場,這樣更加容易區(qū)分是什么現(xiàn)場代碼

現(xiàn)場代碼列表查看 可以查看你保存的現(xiàn)場代碼列表,其中stash@{x} ,x數(shù)字越大,表示現(xiàn)場代碼是越舊

git stash list

apply 方式恢復現(xiàn)場代碼 該方式恢復現(xiàn)場代碼,在現(xiàn)場代碼列表中還會保存著,并沒有從列表中刪除

git stash apply 默認恢復的現(xiàn)場代碼為最新保存的現(xiàn)場代碼
git stash apply stash@{x} 恢復指定的現(xiàn)場代碼

pop 方式恢復現(xiàn)場代碼 該方式恢復現(xiàn)場代碼,會從現(xiàn)場列表代碼中彈出,并從列表中刪除該現(xiàn)場代碼

git stash pop 默認恢復的現(xiàn)場代碼為最新保存的現(xiàn)場代碼
git stash pop stash@{x} 恢復指定的現(xiàn)場代碼

刪除現(xiàn)場代碼

git stash drop 默認刪除最新保存的現(xiàn)場代碼
git stash drop stash@{x} 刪除指定的現(xiàn)場代碼

刪除本地分支

git branch -d branchName 刪除分支名為branchName的分支,如果該分支代碼有修改過,而又未曾被合并,執(zhí)行該命令會提示錯誤。咨詢是否需要強制刪除,如果確保修改的代碼無用的話,則使用如下語句進行強制性刪除
git branch -D branchName

刪除遠程分支

git push origin --delete branchName 刪除遠程分支名為branchName 的分支

先有項目更換倉庫地址

  1. 先查看遠程地址

git remote -v

  1. 重新設置git的新地址

git remote set-url origin https://gitee.com/null_665_7650/bulyfixbug.git

  1. 將項目上傳到git上

git push -u origin --all
git push -u origin --tags

git合并某個提交commit到指定的分支上

1.查看提交的日志,復制要合并的那個分支的commit id

git log

2.bugfix 要合并commit id 的分支

git checkout bugfix

  1. xxxxxxxxxxxshi 要合并的commit id

git cherry-pick xxxxxxxxxxxxxx

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

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