git 常用命令總結

2021-09-23 20:52:03 字數 3088 閱讀 7450

git教程

初始化乙個git倉庫。

把檔案新增到暫存區。

哪些檔案被修改過。

可以檢視修改內容。

提交暫存區的修改。

提交倉庫時新增的備註資訊。

從最近到最遠的提交日誌。

git log --graph 命令可以看到分支合併圖

git reset head~1 ===>(等價於) git reset --hard head^ 取消上一次提交

git revert 撤銷遠端庫提交,恢復上次提交記錄

git branch 命令會列出所有分支,當前分支前面會標乙個*號

git branch $ 建立分支

git branch -d $ 刪除分支

git branch -d $ 強行刪除分支(未合併的分支)

git branch --set-upstream-to=origin/dev dev 指定本地dev分支與遠端origin/dev分支的鏈結

git branch -f master head~3 會將 master 分支強制指向 head 的第 3 級父提交

git branch -u origin/master foo 這樣 foo 就會跟蹤 origin/master 了。如果當前就在 foo 分支上, 還可以省略 foo: git branch -u origin/master

git checkout – $ 讓這個檔案回到最近一次git commit或git add時的狀態。

git checkout $ 切換分支

git checkout $ 將head指向提交記錄雜湊值(在git中移動)

git checkout -b $ 建立並切換分支

git checkout -b dev origin/dev 建立遠端origin的dev分支到本地

git checkout master^ 相對引用,切換到master的父節點

git checkout -b totallynotmaster origin/master 就可以建立乙個名為 totallynotmaster 的分支,它跟蹤遠端分支 origin/master。

檢視遠端庫的資訊

git remote -v 檢視遠端庫更加詳細的資訊

新增遠端庫。

git push 負責將你的變更上傳到指定的遠端倉庫,並在遠端倉庫上合併你的新提交記錄。

git push origin master 切到本地倉庫中的master分支,獲取所有的提交,再到遠端倉庫origin中找到master分支,將遠端倉庫中沒有的提交記錄都新增上去。

git push origin dev 將dev分支推送到遠端庫對應的遠端分支上

第一次推送master分支的所有內容。之後提交就可以用 git push origin master

git merge $ 需要先通過 git checkout master 切換到主分支,再通過git merge $ 將該分支合併到主分支

git merge --no-ff -m 「merge with no-ff」 dev --no-ff引數,表示禁用fast forward(合併分支時,如果可能,git會用fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊,如果要強制禁用fast forward模式,git就會在merge時生成乙個新的commit)。

git rebase $ $ 合併分支

git rebase -i head~4 ui介面調整最近4次的提交記錄

git cherry-pick 《提交號》… 如果你想將一些提交複製到當前所在的位置(head)下面的話, cherry-pick 是最直接的方式了。

永久地將某個特定的提交命名為里程碑,然後就可以像分支一樣引用了,git tag 檢視所有標籤

git tag v1 在當前分支上面加上標籤v1

git tag v1 $ 我們將這個標籤命名為 v1,並且明確地讓它指向提交記錄 $,如果你不指定提交記錄,git 會用 head 所指向的位置。

git tag -a v0.1 -m 「version 0.1 released」 1094adb 建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字

git show v1 檢視標籤資訊

git tag -d v0.1 刪除標籤

git push origin v1 將tag推送到遠端庫

git push origin --tags 一次性推送全部尚未推送到遠端的本地標籤

git push origin :refs/tags/$ 可以刪除乙個遠端標籤。

git describe 由於標籤在**庫中起著「錨點」的作用,git 還為此專門設計了乙個命令用來描述離你最近的錨點(也就是標籤),它就是 git describe!

git describe $ $ 可以是任何能被 git 識別成提交記錄的引用,如果你沒有指定的話,git 會以你目前所檢出的位置(head)。

git bisect 乙個查詢產生 bug 的提交記錄的指令

git fetch 完成了僅有的但是很重要的兩步:

更新遠端分支指標(如 origin/master)

git fetch 實際上將本地倉庫中的遠端分支更新成了遠端倉庫相應分支最新的狀態。

git pull ===>(等價於) git fetch; git merge origin/master

git pull --rebase ===>(等價於) git fetch; git rebase origin/master

把當前工作現場儲藏起來,等以後恢復現場後繼續工作。

git stash list 所有儲藏起來的工作現場。

恢復stash,有兩個辦法:

另一種方式是用git stash pop,恢復的同時把stash內容也刪了

多人協作的工作模式通常是這樣:

首先,可以試圖用git push origin $ 推送自己的修改;

如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull試圖合併;

如果合併有衝突,則解決衝突,並在本地提交;

沒有衝突或者解決掉衝突後,再用git push origin $推送就能成功!

.gitignore檔案,把要忽略的檔名填進去,git就會自動忽略這些檔案。

更多文件可檢視

Git常用命令總結

原文 author joseph lee e mail fdlixiaojun gmail.com 基礎概念 git是分布式版本控制系統,在每個主機上都儲存這版本庫的完整映象,這於cvs,svn 等集中式版本控制系統不同,集中式版本控制系統僅是在伺服器上儲存有所有資訊。git檔案更改後是以快照的方式...

git常用命令總結

一 分支新建與切換 git中的分支,本質上僅僅是個指向 commit 物件的可變指標。1 新建乙個分支 比如新建乙個名為testing的分支 git branch testing 即是在當前commit物件上新建了乙個分支指標 注 head指向當前所在的分支,用cat git head可以檢視 2 ...

git常用命令總結

檢查git 是否安裝 git 新增git 個人資訊 git config global user.name your name git config global user.email email example.com 建立乙個版本庫 mkdir learngit 建立乙個空目錄 cd learn...