git命令總結

2021-09-19 05:45:43 字數 3917 閱讀 2590

檢視git版本

$ git version
設定git資訊
# --global 表示設定全域性資訊,如果去掉就是設定當前專案的資訊

$ git config --global user.name "myname"

$ git config --global user.email "[email protected]"

$ git config --global color.ui auto

檢視git的設定
$ git config --global user.name

$ git config --global user.email

$ git config --global color.ui

初始化倉庫
$ cd project

$ git init

# 和上面兩句相同

$ git init project

檢視檔案狀態
# -s引數表示檢視簡略資訊

$ git status [-s]

$ git add readme.txt		# 把檔案提交的所有修改放到暫存區(stage)

$ git commit -m "add readme.txt"

# 把所有暫存區的檔案提交到版本庫

檢視提交歷史

# --pretty=oneline:單行顯示

# --abbrev-commit:只顯示前6位commit id

$ git log --pretty=oneline --abbrev-commit

# --graph:顯示git提交歷史的圖

# --all:顯示的分支,也可以列舉分支名稱

$ git log --graph --all

記錄命令歷史
$ git reflog
版本回退
# head:表示當前版本,head^:表示上乙個版本,往前一次加乙個^號

# 往前100個版本可以簡寫為head~100

$ git reset --hard head^ # 回到上個版本

# git回到上乙個版本後是不能再回來的,但是利用這個特性,只要記住commit id,即可回來

# 如果回到上個版本,cmd視窗沒有關閉,就可以往上找到當前版本的commit id

$ git reset --hard

# 回到指定版本,commit只需要寫前幾位即可

檢視工作區和版本庫裡面最新版本的區別
$ git

diff head -- readme.txt

撤銷提交到暫存區的檔案
$ git reset head readme.txt
丟棄工作區的修改
# 丟掉最新的修改,回到最新的版本庫內容

$ git checkout -- readme.txt

刪除檔案
git

rm readme.txt

git commit -m "dekete readme.txt"

# 如果檔案刪錯,我們可以使用git checkout -- readme.txt,恢復檔案

生成ssh key

# git 可以使用https和git兩個協議;如果使用https協議就不用生成這key,使用git協議需要生成這個

$ ssh-keygen -t rsa -c "[email protected]"

轉殖倉庫
$ git clone [email protected]:test/test.git
新增遠端倉庫
$ git remote add origin [email protected]:test/test.git
檢視遠端倉庫資訊
$ git remote -v			# 會列出別名和倉庫位址
推送到遠端倉庫
# origin:遠端倉庫別名;master:分支名稱

# 如果遠端分支之間有關係,則不需要指明

$ git push origin master

建立/切換分支

$ git branch 

# 建立分支

$ git checkout

# 切換分支

$ git checkou -b dev # 建立並切換分支

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

$ git branch		# 列出所有分支,當前分支前面有 * 標識

$ git branch -vv # 檢視分支時,不同詳細程度

# 將本地分支關聯到遠端分支,設定以後,就不用每次push指明了

$ git branch --set-upstream dev

# 如果你閒麻煩,那麼在第一次提交分支時,這樣設定

$ git push -u origin dev

合併某分支到當前分支
# 工作時,比如修改乙個bug或者開發乙個新功能,為了不影響當前的**正常執行,

# 通常需要新建乙個分支,在新建的分支上完成工作,然後再將這個分支合併到開發分支上

# 不過這樣合併有可能會出現衝突,需要手動解決

$ git merge dev

$ git merge

# --bo-ff:強制禁用fast-forward模式,生成乙個新的commit資訊,從分支歷史上可以看出分支資訊

$ git merge --no-ff -m "merge with no-ff" dev

刪除分支
$ git branch -d 

$ git branch -d

# 強行刪除分支

分支策略
# master 分支應該是非常穩定的,僅用來發布新版本,平時不在上面幹活。

# 幹活在dev分支上

儲存當前工作現場

$ git stash
恢復現場

# 不會刪除快照

$ git stash drop # 手動刪除快照

$ git stash pop # 刪除恢復現場並刪除快照

檢視儲存的現場

$ git stash list

建立標籤

$ git tag v1.0
檢視所有標籤
$ git tag
補充tag
$ git tag v0.9 commit-id
顯示標籤tag資訊
$ git show 
建立帶有說明的標籤

用-a指定標籤名,-m指定說明文字:

$ git tag -a v1.0 -m "版本1.0" commit-id
用pgp簽名標籤
$ git tag -s v2.0 -m "版本2.0" commit-id
刪除標籤
$ git tag -d v1.0
推送某個標籤到遠端
$ git push origin v1.0
一次性推送全部尚未推送到遠端的本地標籤、
$ git push origin --tags
刪除乙個遠端標籤
$ git push origin :refs/tags/v1.0

初學者可以看這裡,我比較喜歡的乙個git教程,將的很詳細

git命令總結

git config global user.name fangting git config global user.email 126.com git stash list 顯示git棧內的所有備份,可以利用這個列表來決定哪個地方恢復。git stash clear清空git棧。git stat...

Git命令總結

git 操作步驟 1.新建倉庫mkdir mygit 建立倉庫目錄 cd mygit 進入mygit進行操作 pwd 顯示mygit的路徑,此步驟可以不要 2.初始化git init 將目錄轉為git可以管理的倉庫 3.新增檔案新建乙個檔案 如txt檔案 一定要放到剛才新建的目錄下 子目錄也行 這裡...

git命令總結

1.使用repo命令批量提交多個庫的修改 repo forall project1 project2 c git add a repo forall project1 project2 c git commit m commit comment here repo forall project1 p...