常用的git命令

2022-01-11 16:14:18 字數 4267 閱讀 5941

基礎操作

git add . //

將檔案新增到快取區

git status //

檢視狀態

git commit -m "注釋內容" //

將暫存區檔案提交至版本庫

git log //

檢視近期提交狀態

git branch //

檢視分支

git branch dev //

新建 dev 分支

git checkout dev //

切換到 dev 分支

git push -u origin 分支名稱 //

第一次提交分支(推送到雲端origin倉庫中)

//注意:必須切換到此子分支下才能提交!!!-u就表示第一次,

git merge 分支名稱

//必須先切換到主分支!!!然後在合併分支

//如果不下心在master分支上寫了**,直接git checkout -b test 就能將修改的檔案分配到test分支上,然後在 git add 等操作

日誌

git log //

檢視歷史記錄

git log -p //

檢視詳細歷史

gi log --stat

//檢視簡要統計

git show //

檢視當前的 commit 的改動內容

git show comiitid //

檢視某個具體的 commit 的改動內容

git show comiitid a\b.txt //

看指定 commit 中的指定檔案

git diff

//比對工作目錄和暫存區

git diff --staged //

比對暫存區和上一條提交

git diff head //

比對工作目錄和上一條提交

git reflog //

檢視記錄的每一條指令

clone分支

git checkout dev //

切換到 dev 分支

git checkout -b dev //

建立並立即切換到dev子分支

git branch -al //

檢視所有本地倉庫分支和遠端分支

git checkout -b 本地demo分支 origin/遠端demo分支 // 檢出遠端的demo分支到本地

推送分支

git push origin 本地分支:遠端分支 //

提交本地分支到遠端分支

git push origin :demo //

推送本地的空分支(冒號前面的分支)到遠端origin的demo(冒號後面的分支)(沒有會自動建立)

刪除分支

git branch -d bug //

刪除本地的bug分支

git push origin --delete demo //

刪除遠端分支demo

同步本地和遠端的分支

git remote show origin # 檢視本地分支和追蹤情況

git remote prune origin # 同步刪除分支

git強制覆蓋

git fetch --all

git reset --hard origin/master

git pull

臨時需要打包,暫時將本地更改推到暫存區,打包完成後恢復之前的本地更改

git stash //

「藏匿」臨時存放工作目錄的改動

git stash //

將新建的檔案也臨時存放

可以保留 stash 空間,避免 pop 完產生奇怪的問題

git stash pop //

恢復,並三處這次stash

變基rebase——在新位置重新提交,展開來說就是,把你指定的 commit 以及它所在的 commit 串,以指定的目 標 commit 為基礎,依次重新提交一次。

git checkout branch1

git rebase master

另外,在 rebase 之後,記得切回 master 再 merge 一下,把 master 移到最新的 commit :

git checkout master

git merge branch1

//重要的!!

git rebase --help //

檢視幫助,裡面有一張圖

多次commit未push

git add a.txt //

更新乙個檔案內容

git commit //

commit 到暫存區,沒有push

//重新編輯 a.txt

git add a.txt //

更新乙個檔案內容

git commit --amend //

該命令並不會再生成乙個commit,而是在之前的commit修改

amend 就是重新修改 commit

刪除提交錯誤的push

錯誤提交到了版本庫,此時無論工作區、暫存區,還是版本庫,這三者的內容都是一樣的,

這個時候,我們必須撤銷版本庫的修改才能解決問題!

git reset有三個選項,--hard、--mixed、--soft

//

僅僅只是撤銷已提交的版本庫,不會修改暫存區和工作區

git reset --soft 版本庫id

//僅僅只是撤銷已提交的版本庫和暫存區,不會修改工作區

git reset --mixed 版本庫id

//徹底將工作區、暫存區和版本庫記錄恢復到指定的版本庫

git reset --hard 版本庫id

具體步驟:

git log //

檢視log日誌,複製撤銷的commitid

git reset --hard commitid //

強制撤銷, soft hard mixed 視情況而定

git push origin head --force //

推送到遠端

其他操作

撤銷錯誤新增到暫存區裡的檔案 命令列 :git rm --cache 檔名

上面**僅僅刪除暫存區的檔案而已,不會影響工作區的檔案 

刪除暫存區和工作區的檔案 命令列:git rm -f 檔名

出錯的內容在你自己的 branch,修改已經push了的commit資訊注釋

step3:編輯好之後,按鍵【esc】,輸入【:wq】,即儲存和退出。

step4:輸入【git push -f】強制提交。

操作完之後,再看提交記錄,即可看到修改的注釋資訊。

出錯的內容已經合併到 master,恢復乙個版本

git revert head^

上面這行**就會增加一條新的 commit ,它的內容和倒數第二個 commit 是相反的,從而和倒數第二個 commit 相互抵消,達到撤銷的效果。

git revert head //

撤銷最近一次提交

git revert head~1

//撤銷上上次的提交,注意:數字從0開始

git revert 0ffaacc //

撤銷0ffaacc這次提交

git追蹤資料夾/檔名稱更新

git mv -f oldfolder newfolder

git add -u newfolder (-u選項會更新已經追蹤的檔案和資料夾)

git commit -m "

changed the foldername whaddup

"git push origin yourbranch

git強制更新並覆蓋本地修改

1.git fetch --all //

從遠端拉取最新的** 不merge

2.git reset --hard origin/develop //

使用指定分支的**(此處develop)強制覆蓋**

3.git pull //

從遠端拉取最新的** 自動merge

git常用的命令

1.複製版本庫 研發人員首先clone整個版本庫 git clone git git clone git 2.建立分支 預設clone下來的git庫只包含master本地分支 master remotes origin head origin master remotes origin r91p1 ...

常用的Git命令

git add 檔案 新增檔案到暫存區 git add 則新增當前工作區全部檔案,當然忽略的檔案除外。git commit m 說明 也有不是新增說明直接提交的方法,但是強烈建議使用這個。git status 檢視當前工作區的狀態,不解釋,這個應該是最常用的吧。git log 檢視git日誌 git...

git常用的命令

2.使用不同的顏色顯示 git config global color.ui auto 3.初始化倉庫 前往倉庫 cd 倉庫路徑 初始化 git init 4.新增當前倉庫中要提交的檔案到暫存區 git add 5.檢視狀態 os x命令列下,綠色為可以提交狀態,紅色則不可以 git status ...