git命令學習

2021-09-06 15:19:45 字數 2086 閱讀 4868

git 主要通過操作工作區、暫存區、版本庫來實現**管理。

下面這個圖展示了工作區、版本庫中的暫存區和版本庫之間的關係:

注:以上來自git菜鳥教程。、

git reset --soft head~     :將當前head指向的分支回退到上次提交後的狀態,並不改變暫存區以及工作目錄的內容,撤銷當前git commit經常使用這個命令;

git reset --mixed head~   或者  git reset head~ (git reset 命令預設引數為 --mixed):將當前head指向的分支回退到上次提交後的狀態,取消暫存區的內容,但不改變工作目錄的內容,與git add 功能剛好相反;

git reset --hard head~     :將當前head指向的分支回退到上次提交後的狀態,取消暫存區的內容,同時工作目錄的內容也會被重新覆蓋;

注:head其實就是乙個指向當前分支的指標,head~就是指當前分支上次提交版本

git reset 【--mixed】【head】 filename  (【--mixed】和【head】可以省略): 將filename 檔案取消暫存;

git reset --hard 【head】filename  (【head】可以省略): 將filename 檔案取消暫存,並撤銷工作目錄中該檔案的修改,與這條命令與  git checkout --  filename  功能類似;

切換當前head指向的分支,切換分支必須先確保本地沒有未提交的暫存或者修改。

新建分支branch,並切換當前head指向的分支branch,執行這條命令必須先確保本地沒有未提交的暫存或者修改。

如果後面有【remotename】 /【branch】  那麼新建的分支就會自動最終遠端伺服器上branch1分支

設定本地當前分支自動追蹤遠端伺服器branch分支;

將filename 檔案取消暫存,並撤銷工作目錄中該檔案的修改,與這條命令與  git reset --hard filenam 功能類似;

上圖有兩個分支origin 和 mywork,現在將兩個分支合併

執行  git checkout mywork 

git merge origin 

git checkout 會切換分支到mywork,git merge 會找到  當前分支與origin 兩個分支共同祖先,圖中c2這個節點,以c2為基礎,將mywork與origin合併生成下圖的c7節點。這種叫做git merge 三方合併。

執行  git checkout mywork 

git rebase origin 

git checkout 會切換分支到mywork,git rebase 會將origin分支上的更改在mywork分支上重現,形成下圖所示的c5'和c6'。

下面就可以執行git merge操作

git checkout origin

git merge mywork

上面命令先切換到origin分支,再將mywork分支合入origin,那麼上圖中origin和mywork會同時指向c6',這種也叫作git merge  單線合入。

在執行 git branch -d mywork 可以刪除mywork分支;

儲藏用於當**寫了一半,然而又不想將一半工作提交,這時候可以使用git stash將當前工作暫時儲存起來。

git stash :將當前分支裡做的工作儲藏

git stash list :檢視當前儲藏的記錄

應用儲藏記錄中的某乙個,預設為最近儲藏的記錄,--index指將儲藏時候暫存區的內容再次暫存;

git stash branch 【branch】: 恢復儲藏區的內容到新分支branch上;

git 命令學習

mkdir test 建立test資料夾 cd test 進入test檔案 git init 建立空白的git檔案 ls 檢視當前目錄的檔案內容 cd 返回上一目錄 vi xx.txt 編輯乙個txt文件 git status 檢視當前狀態 git commit m add add.txt m的後面...

學習Git命令

git 倉庫的一次commit記錄所提交目錄下所有檔案的快照,感覺像是大量的複製和貼上,但git並非如此!git 希望提交的記錄盡可能的輕量,所以每次進行提交時,它不會簡單地複製整個目錄,條件允許的情況下,git會把提交壓縮成從 倉庫中的乙個版本到下乙個版本的變化合集,也叫作 增量delta git...

Git命令學習

列出當前版本號 列出遠端倉庫 git remote v 選項,列出遠端倉庫位址 3.新增遠端倉庫 git remote add pb https address檢查當前檔案狀態 git status遠端倉庫的移除和重新命名 git remote rename firstname changednam...