git 命令大全

2021-08-03 15:36:05 字數 4556 閱讀 7068

1) 遠端倉庫相關命令

檢出倉庫:        $ git clone git:

檢視遠端倉庫:$ git remote -v

新增遠端倉庫:$ git remote add [name] [url]

刪除遠端倉庫:$ git remote rm [name]

修改遠端倉庫:$ git remote set-url --push [name] [newurl]

拉取遠端倉庫:$ git pull [remotename] [localbranchname]

推送遠端倉庫:$ git push [remotename] [localbranchname]

*如果想把本地的某個分支test提交到遠端倉庫,並作為遠端倉庫的master分支,或者作為另外乙個名叫test的分支,如下:

$git push origin test:master         // 提交本地test分支作為遠端的master分支

$git push origin test:test              // 提交本地test分支作為遠端的test分支

2)分支(branch)操作相關命令

檢視本地分支:$ git branch

檢視遠端分支:$ git branch -r

建立本地分支:$ git branch [name] ----注意新分支建立後不會自動切換為當前分支

切換分支:$ git checkout [name]

建立新分支並立即切換到新分支:$ git checkout -b [name]

刪除分支:$ git branch -d [name] ---- -d選項只能刪除已經參與了合併的分支,對於未有合併的分支是無法刪除的。如果想強制刪除乙個分支,可以使用-d選項

合併分支:$ git merge [name] ----將名稱為[name]的分支與當前分支合併

建立遠端分支(本地分支push到遠端):$ git push origin [name]

刪除遠端分支:$ git push origin :heads/[name] 或 $ gitpush origin :[name] 

*建立空的分支:(執行命令之前記得先提交你當前分支的修改,否則會被強制刪乾淨沒得後悔)

$git symbolic-ref head refs/heads/[name]

$rm .git/index

$git clean -fdx

3)版本(tag)操作相關命令

檢視版本:$ git tag

建立版本:$ git tag [name]

刪除版本:$ git tag -d [name]

檢視遠端版本:$ git tag -r

建立遠端版本(本地版本push到遠端):$ git push origin [name]

刪除遠端版本:$ git push origin :refs/tags/[name]

合併遠端倉庫的tag到本地:$ git pull origin --tags

上傳本地tag到遠端倉庫:$ git push origin --tags

建立帶注釋的tag:$ git tag -a [name] -m 'yourmessage'

4) 子模組(submodule)相關操作命令

新增子模組:$ git submodule add [url] [path]

初始化子模組:$ git submodule init  ----只在首次檢出倉庫時執行一次就行

更新子模組:$ git submodule update ----每次更新或切換分支後都需要執行一下

刪除子模組:(分4步走哦)

1) $ git rm --cached [path]

2) 編輯「.gitmodules」檔案,將子模組的相關配置節點刪除掉

3) 編輯「 .git/config」檔案,將子模組的相關配置節點刪除掉

4) 手動刪除子模組殘留的目錄

5)忽略一些檔案、資料夾不提交

在倉庫根目錄下建立名稱為「.gitignore」的檔案,寫入不需要的資料夾名或檔案,每個元素佔一行即可,如

target

bin*.db

三、 git 命令詳解

現在我們有了本地和遠端的版本庫,讓我們來試著用用git的基本命令:

git pull:從其他的版本庫(既可以是遠端的也可以是本地的)將**更新到本地,例如:'git pull origin master'就是將origin這個版本庫的**更新到本地的master主枝,該功能類似於svn的update

git add:

git rm:

git commit:提交當前工作空間的修改內容,類似於svn的commit命令,例如'git commit -m story #3, add user model',提交的時候必須用-m來輸入一條提交資訊,該功能類似於svn的commit

git push:將本地commit的**更新到遠端版本庫中,例如'git push origin'就會將本地的**更新到名為orgin的遠端版本庫中

git log:檢視歷史日誌,該功能類似於svn的log

git revert:還原乙個版本的修改,必須提供乙個具體的git版本號,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',git的版本號都是生成的乙個雜湊值

上面的命令幾乎都是每個版本控制工具所公有的,下面就開始嘗試一下git獨有的一些命令:

git branch:對分支的增、刪、查等操作,例如'git branch new_branch'會從當前的工作版本建立乙個叫做new_branch的新分支,'git branch -d new_branch'就會強制刪除叫做new_branch的分支,'git branch'就會列出本地所有的分支

git checkout:

git rebase:用下面兩幅**釋會比較清楚一些,rebase命令執行後,實際上是將分支點從c移到了g,這樣分支也就具有了從c到g的功能

git reset:將當前的工作目錄完全回滾到指定的版本號,假設如下圖,我們有a-g五次提交的版本,其中c的版本號是 bbaf6fb5060b4875b18ff9ff637ce118256d6f20,我們執行了'git reset 

bbaf6fb5060b4875b18ff9ff637ce118256d6f20'那麼結果就只剩下了a-c三個提交的版本

git stash:將當前未提交的工作存入git工作棧中,時機成熟的時候再應用回來,這裡暫時提一下這個命令的用法,後面在技巧篇會重點講解

git config:利用這個命令可以新增、更改git的各種設定,例如'git config branch.master.remote origin'就將master的遠端版本庫設定為別名叫做origin版本庫,後面在技巧篇會利用這個命令個性化設定你的git,為你打造獨一無二的 git

git tag:可以將某個具體的版本打上乙個標籤,這樣你就不需要記憶複雜的版本號雜湊值了,例如你可以使用'git tag revert_version bbaf6fb5060b4875b18ff9ff637ce118256d6f20'來標記這個被你還原的版本,那麼以後你想檢視該版本時,就可以使用 revert_version標籤名,而不是雜湊值了

git 之所以能夠提供方便的本地分支等特性,是與它的檔案儲存機制有關的。git儲存版本控制資訊時使用它自己定義的一套檔案系統儲存機制,在**根目錄下有乙個.git資料夾,會有如下這樣的目錄結構:

有幾個比較重要的檔案和目錄需要解釋一下:head檔案存放根節點的資訊,其實目錄結構就表示乙個樹型結構,git採用這種樹形結構來儲存版本資訊,那麼head就表示根;refs目錄儲存了你在當前版本控制目錄下的各種不同引用(引用指的是你本地和遠端所用到的各個樹分支的資訊),它有heads、remotes、stash、tags四個子目錄,分別儲存對不同的根、遠端版本庫、git棧和標籤的四種引用,你可以通過命令'git show-ref'更清晰地檢視引用資訊;logs目錄根據不同的引用儲存了日誌資訊。因此,git只需要**根目錄下的這乙個.git目錄就可以記錄完整的版本控制資訊,而不是像svn那樣根目錄和子目錄下都有.svn目錄。

Git 命令大全

git 的特點 1.關注檔案的整體變化 2.git 更像是把變化的檔案作快照後,記錄在乙個微型的檔案系統中。每次提交更新時,它會縱覽一遍所有檔案的指紋資訊並對檔案作一快照,然後儲存乙個指向這次快照 的索引。為提高效能,若檔案沒有變化,git 不會再次儲存,而只對上次儲存的快照作一鏈結。基本的 git...

git命令大全

公司使用了github 特意從網上總結下常用的git命令,備用 1 遠端倉庫相關命令 檢出倉庫 git clone git 首次開發必用 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端倉庫 git remote rm name 修改遠端...

git命令大全

git 是乙個很強大的分布式版本控制系統。它不但適用於管理大型開源軟體的源 管理私人的文件和源 也有很多優勢。git常用操作命令 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端...