Git常用命令

2021-08-13 06:32:38 字數 4529 閱讀 6952

git help # 顯示command的help

git show # 顯示某次提交的內容 git show $id

git co -- # 拋棄工作區修改

git co . # 拋棄工作區修改

git add # 將工作檔案修改提交到本地暫存區

git add . # 將所有修改過的工作檔案提交暫存區

git rm # 從版本庫中刪除檔案

git rm --cached # 從版本庫中刪除檔案,但不刪除檔案

git reset # 從暫存區恢復到工作檔案

git reset -- . # 從暫存區恢復到工作檔案

git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改

git ci git ci . git ci -a # 將git add, git rm和git ci等操作都合併在一起做                                    

git ci -am "some comments"

git ci --amend # 修改最後一次提交記錄

git revert <$id> # 恢復某次提交的狀態,恢復動作本身也建立次提交物件

git revert head # 恢復最後一次提交的狀態

git diff # 比較當前檔案和暫存區檔案差異 git diff

git diff 1><

id1><

id2> # 比較兩次提交之間的差異

git diff

..# 在兩個分支之間比較

git diff --staged # 比較暫存區和版本庫差異

git diff --cached # 比較暫存區和版本庫差異

git diff --stat # 僅僅比較統計資訊

git log git log # 檢視該檔案每次提交記錄

git log -p # 檢視每次詳細修改內容的diff

git log -p -2 # 檢視最近兩次詳細修改內容的diff

git log --stat #檢視提交統計資訊

tig

mac上可以使用tig代替diff和log,brew install tig

git br -r # 檢視遠端分支

git br # 建立新的分支

git br -v # 檢視各個分支最後提交資訊

git br --merged # 檢視已經被合併到當前分支的分支

git br --no-merged # 檢視尚未被合併到當前分支的分支

git co

# 切換到某個分支

git co -b # 建立新的分支,並且切換過去

git co -b

# 基於branch建立新的new_branch

git co $id # 把某次歷史提交記錄checkout出來,但無分支資訊,切換到其他分支會自動刪除

git co $id -b # 把某次歷史提交記錄checkout出來,建立成乙個分支

git br -d

# 刪除某個分支

git br -d

# 強制刪除某個分支 (未被合併的分支被刪除的時候需要強制)

git merge

# 將branch分支合併到當前分支

git merge origin/master --no-ff # 不要fast-foward合併,這樣可以生成merge提交

git rebase master

# 將master rebase到branch,相當於: git co

&& git rebase master && git co master && git merge

git diff > ../sync.patch # 生成補丁

git stash # 暫存

git stash list # 列所有stash

git stash drop # 刪除暫存區

git pull # 抓取遠端倉庫所有分支更新並合併到本地

git pull --no-ff # 抓取遠端倉庫所有分支更新並合併到本地,不要快進合併

git fetch origin # 抓取遠端倉庫更新

git merge origin/master # 將遠端主分支合併到本地當前分支

git co --track origin/branch # 跟蹤某個遠端分支建立相應的本地分支

git co -b origin/# 基於遠端分支建立本地分支,功能同上

git push # push所有分支

git push origin master # 將本地主分支推到遠端主分支

git push -u origin master # 將本地主分支推到遠端(如無遠端主分支則建立,用於初始化遠端倉庫)

git push origin # 建立遠端分支, origin是遠端倉庫名

git push origin :# 建立遠端分支

git push origin :#先刪除本地分支(git br -d

),然後再push刪除遠端分支

github

git remote -v # 檢視遠端伺服器位址和倉庫名稱

git remote show origin # 檢視遠端伺服器倉庫狀態

git remote add origin git@ github:robbin/robbin_site.git # 新增遠端倉庫位址

git remote set-url origin git@ github.com:robbin/robbin_site.git # 設定遠端倉庫位址(用於修改遠端倉庫位址) git remote rm # 刪除遠端倉庫

git clone --bare robbin_site robbin_site.git # 用帶版本的專案建立純版本倉庫

scp -r my_project.git git@ git.csdn.net:~ # 將純倉庫上傳到伺服器上

mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在伺服器建立純倉庫

git remote add origin git@ github.com:robbin/robbin_site.git # 設定遠端倉庫位址

git push -u origin master # 客戶端首次提交

git push -u origin develop # 首次將本地develop分支提交到遠端develop分支,並且track

git remote set-head origin master # 設定遠端倉庫的head指向master分支

也可以命令設定跟蹤遠端庫和本地庫

git branch --set-upstream master origin/master

git branch --set-upstream develop origin/develop

在用git來進行版本控制時,我需要執行git commit命令,將索引內容新增到倉庫中。

示例1:

git commit -m "提交的描述資訊"

如果我們這裡不用-m引數的話,git將調到乙個文字編譯器(通常是vim)來讓你輸入提交的描述資訊

可能一天下來,你對工作樹中的許多文件都進行了更新(文件新增、修改、刪除),但是我忘記了它們的名字,此時若將所做的全部更新新增到索引中,比較輕省的做法就是:

git commit -a -m "提交的描述資訊"

git commit 命令的-a 選項可只將所有被修改或者已刪除的且已經被git管理的文件提交倒倉庫中。如果只是修改或者刪除了已被git 管理的文件,是沒必要使用git add 命令的。

git add .命令除了能夠判斷出當前目錄(包括其子目錄)所有被修改或者已刪除的文件,還能判斷使用者所新增的新文件,並將其資訊追加到索引中。

git commit --amend 對於已經修改提交過的注釋,如果需要修改,可以借助 git commit --amend 來進行。 例如

在framework/base 裡最新的提交就是 resolving the roaming problem,我現在需要將其改為 resolving the roaming problem for fixing bug 7732

在framework/base 下 輸入git commit --amend,就會進入乙個文字編輯介面(如下),在注釋的地方修改,儲存然後退出,這樣注釋就修改了,再重新push.

另外,要注意的問題是,git 不會主動記錄你對文件進行的更新,除非你對它發號施令(比如通過git add命令)

語法git commit [-a | --interactive | --patch]

[-s]

[-v]

[-u]

[--amend]

[--dry-run]

[(-c | -c | --fixup | --squash)

][-f | -m ]

[--reset-author]

[--allow-empty]

[--allow-empty-message]

[--no-verify]

[-e]

[--author=]

常用命令 Git 常用命令大全

安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...

git 常用命令

檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...

git常用命令

詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...