git常用命令

2022-07-15 11:14:04 字數 4338 閱讀 6808

git常用命令

1、配置全域性注釋使用者名稱、關聯郵件位址

git config --global user.name "junge8618"

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

說明:如果要配置指定倉庫,直接切換到該倉庫目錄,執行不帶--global目錄;

檢視已經設定的值,使用命令:

git config --global user.name

git config --global user.email

檢視所有已有的配置

git config --list

2.初始化本地倉庫

進入目錄,執行命令git init

3.新增檔案或者目錄

git add .

4.提交修改至本地倉庫

git commit -m "initial commit"

5.檢視狀態

git status

6.建立分支

git checkout -b comic_sans

7.使用-a同時增加和提交

git commit -am "make header font comic sans"

8.分支合入主幹分支

切換到主幹分支git checkout master

合併分支到主幹分支git merge comic_sans

檢視日誌git log

9.獲取命令幫助資訊

git help

git --help

man git-

10.轉殖專案

git clone git:

git clone git: mygrit

11.刪除檔案

git rm -rf ... 已提交的檔案刪除,物理刪除(暫存和本地目錄都刪除),需要使用命令git commit提交刪除的檔案

git rm --cached readme.txt 從暫存中刪除

git reset head ... 已標記的檔案且未暫存的檔案,通過該命令回滾

12.檔案改名

git mv file_from file_to

13.檢視歷史提交記錄

git log

git log --stat 只顯示摘要

14.重新提交

git commit --amend

15.遠端倉庫

檢視當前的遠端庫 git remote -v

新增遠端倉庫 git remote add [shortname] [url]

git remote add junge

從遠端倉庫抓取資料 git fetch [remote-name]

git fetch origin 會抓取從你上次轉殖以來別人上傳到此遠端倉庫中的所有更新(或是上次 fetch 以來別人提交的更新)。有一點很重要,需要記住,fetch 命令只是將遠端的資料拉到本地倉庫,並不自動合併到當前工作分支,只有當你確實準備好了,才能手工合併。

如果設定了某個分支用於跟蹤某個遠端倉庫的分支(參見下節及第三章的內容),可以使用 git pull 命令自動抓取資料下來,然後將遠端分支自動合併到本地倉庫中當前分支。在日常工作中我們經常這麼用,既快且好。實際上,預設情況下 git clone 命令本質上就是自動建立了本地的 master 分支用於跟蹤遠端倉庫中的 master 分支(假設遠端倉庫確實有 master 分支)。所以一般我們執行 git pull,目的都是要從原始轉殖的遠端倉庫中抓取資料後,合併到工作目錄中的當前分支。

推送資料到遠端倉庫 git push [remote-name] [branch-name]

檢視遠端倉庫資訊 git remote show origin

遠端倉庫的重新命名 git remote rename 例子:git remote rename pb paul

遠端倉庫的刪除 git remote rm 例子:git remote rm paul

16.打標籤

列顯已有的標籤 git tag 或者git tag -l "v1.4.2.*"

新建含附註的標籤 git tag -a v1.4 -m 'my version 1.4'

檢視相應標籤的版本資訊git show v1.4

後期加註標籤 git tag -a v1.2 9fceb02

分享標籤 git push origin v1.5 或者git push origin --tags(一次推送所有本地新增的標籤上去)

17.分支

建立新分支 git branch testing

新建立分支時,不會自動切換,需要手工切換分支 git checkout testing

可以使用命令建立並切換分支 git checkout -b iss53 (切換分支前,保證本地的**已經提交完全)

刪除分支 git branch -d hotfix

合併分支(切換到主幹,把iss53分支中的**合併到主幹)

git checkout master

git merge iss53

檢視有衝突的合併檔案 git status

衝突解決後,執行命令git add 將把它們標記為已解決狀態

當前所有分支的清單(其中前面顯示星號的是當前分支)

git branch

檢視各個分支最後乙個提交物件的資訊

git branch -v

檢視哪些分支已被併入當前分支(譯註:也就是說哪些分支是當前分支的直接上游。)

git branch --merged

檢視尚未合併的工作

git branch --no-merged

刪除分支(沒有合入主乾則會提示)

git branch -d testing

強制刪除分支(沒有合入主乾則會提示)

git branch -d testing

18.推送本地倉庫到遠端倉庫

新增遠端倉庫

git remote add origin

設定本地倉庫為遠端倉庫的跟蹤分支

git branch --set-upstream-to=origin/master master

git branch --set-upstream dev origin/dev

更新遠端倉庫到本地

git fetch

推送本地倉庫到遠端倉庫

git push

19.檢視歷史記錄的版本號id

git reflog

20.恢復到某個版本

git reset --hard 259e941

git reset --hard head^ 恢復到上個版本

git reset --hard head^^恢復到上2個版本

git reset --hard head~100 恢復到上100個版本

21.命令 git checkout -- readme.txt 意思就是,把readme.txt檔案在工作區做的修改全部撤銷,這裡有2種情況,如下:

readme.txt自動修改後,還沒有放到暫存區,使用 撤銷修改就回到和版本庫一模一樣的狀態。

另外一種是readme.txt已經放入暫存區了,接著又作了修改,撤銷修改就回到新增暫存區後的狀態。

22.合併分支禁止fast forward(該模式下,刪除分支後,會丟掉分支資訊)

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

23.隱藏與還原工作現場

隱藏現場

git stash

檢視隱藏列表

git stash list

刪除git stash drop

恢復並刪除

git stash pop

常見問題:

1.我在github新建乙個倉庫,寫了license,然後把本地乙個寫了很久倉庫上傳。

先pull,因為兩個倉庫不同,發現refusing to merge unrelated histories,無法pull

因為他們是兩個不同的專案,要把兩個不同的專案合併,git需要新增一句**,在git pull,這句**是在git 2.9.2版本發生的,最新的版本需要新增--allow-unrelated-histories

假如我們的源是origin,分支是master,那麼我們 需要這樣寫git pull origin master ----allow-unrelated-histories

如果合併後有衝突,需要先解決衝突,衝突解決後使用命令提交本地修改的檔案git commit -am "解決衝突提示"

第一次推送遠端倉庫,需要使用如下命令:

git push --set-upstream origin master

參考部落格:

常用命令 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...