1. 程式人生 > 其它 >前端開發常用git命令詳細版

前端開發常用git命令詳細版

1.新建程式碼庫

  1. 當前目錄建立一個git程式碼庫

git init

  1. 新建一個目錄檔案 將其初始化為git程式碼庫

    git init [pro-name]

  2. 遠端拉去專案

    git clone [url]

2.基本配置

git的設定檔案為.gitconfig,他可以在使用者主目錄下(全域性配置),也可以在專案目錄下(專案配置)

  1. 設定提交程式碼時的使用者資訊

    git config [--global] user.name '[name]'

    git config [--global] user.email '[email]'

  2. 編輯git配置檔案

    vim ~/.gitconfig

  3. 顯示git配置

    git config --list

  4. 顯示git配置

cat ~/.gitconfig

3.增加、刪除檔案

新增

  1. 新增自定檔案到快取區

    git add [file1] [file2] ...

  2. 新增整個目錄(資料夾...)到快取區

    git add [dir]

  3. 新增所有目錄到快取區

    git add .

刪除

  1. 刪除工作區檔案,並將刪除放入快取區

    git rm [file-Name]...

  2. 直接刪除檔案

    fir rm -fr [file-name]...

  3. 修改檔名稱,並且將這個檔名放入暫存區

    git mv [old-name] [new-name]

4.提交程式碼

  1. 提交暫存區到倉庫

    git commit -m '[msg]'

  2. 提交暫存區指定檔案到倉庫

    git commit [file1] [file2].. -m '[msg]'

  3. 提交工作區上次commit之後變化的,直接到倉庫

    git commit -a (注意:儘量別這麼幹)

  4. 提交時顯示所有diff(提交)資訊

    git commit -v

  5. 使用一次新的commit ,代替上一次提交如果程式碼沒有任何變化,這用來改寫上一次commit的提交資訊

    git commit --amend -m '[msg]'

5.分支管理

建立分支

  1. 列出所有本地倉庫分支

    git branch

  2. 列出所有遠端倉庫分支

    git branch -r

  3. 列出所有本地和遠端分支

    git branch -a

  4. 建立一個分支,但依然停留在當前分支

    git branch [name]

  5. 建立一個分支,並切換

    git checkout -b [name]

  6. 檢視日誌

    git log

  1. 新建一個分支 只想指定的commit Id

    git branch [br -name] [commit]

切換分支

  1. 切換分支

    git checkout [name]

  2. 拉去最新變化

    git pull

新建分支,與遠端建立關係

  1. 本機分支及資訊全部推到遠端

    git push -u origin [branchname]:[branchname]

  2. 檢視origin資訊

    git remote -v

  3. 新建一個分支,與遠端分支建立關係

    git branch --track [branch] [remote branch]

    git branch --track DevOps_RC2 remotes/origin/DevOps_RC1

合併分支

git merge [name]

  1. 解決衝突

    在原生代碼會有提示去修改即可,命令列不在多說

  2. 檢視當前狀態

    git status

刪除分支

git branch -d [name]

  1. 檢視當前分支詳細資訊

    git branch -av

  2. 刪除遠端分支

    git push origin --delete [name]

  3. 刪除遠端分支2

    git branch -dr [remotes.origin/br-name]

    git branch -av

總結

  1. 建立本地分支

    git checkout -b [name]

  2. 本地分支推送到遠端

    git push origin [name]:[name]

6.標籤tag

  1. 列出所有tag

    git tag

    git tag -l

    git tag --list

  2. 建立一個tag在當前cmmit

    git tag [name]

  3. 建立一個tag在指定的cinnit

    git tag [name] [commitId] -m '[msg]'

  4. 檢視tag資訊

    git show [tag-name]

  5. 提交置頂tag到遠端倉庫

    git push origin [tag-name]

  6. 提交所有tag

    git push origin --tag

  7. 機遇某個tag建立分支並切換

    git checkout -b [br-name] [tag-name]

7.檢視資訊

  1. 檢視所有變動檔案

    git status

  2. 顯示當前分支的版本歷史

    git log

  3. 顯示commit歷史,以及每次commit發生變動的檔案

    git log --stat

  4. 顯示某個檔案歷史版本,檔名

    git log --follow [file-name]

    git whatchanged [file-name]

  5. 顯示自定檔案相關的diff

    git log -p [file-name]

  6. 顯示自定檔案是什麼人在什麼時間修改的

    git blame [file-name]

  7. 顯示暫存區和上一個commit的差異

    git diff --cached [commit id] 注意不寫就是最新的

  8. 顯示工作區與當前分支最新commit之間的差異

    git diff HEAD

  9. 顯示兩分鐘之間的差異

    git diff [br-name] [br-name]

  10. 顯示兩次commit之間的差異

> git diff [commitid] [commitid]
  1. 顯示目次提交元資料和內容變化

    git show [commit]

  2. 顯示某次提交發生變化的檔案

    git show --name-only [commit]

  3. 顯示某次提交某個問價內容

    git show [commit]:[file-name]

顯示所有提交

git reflog

8.遠端同步

  1. 拉去遠端倉庫所有變動

    git fetch origin

  2. 顯示所有遠端倉庫

    git remote -v

  3. 顯示某個遠端倉庫資訊

    git remote show origin

  4. 新增加一個倉庫

    git remote add [shortname][url]

  5. 取回遠端倉庫的變化,並與本地分支合併

    git pull [remote] [branch]

  6. 上傳本地指定分支到遠端倉庫

    git push [remote] [branch]

  7. 強行推送當前分支到遠端倉庫,即使有衝突

    git push [remote] --force

  8. 推送所有分支到遠端倉庫

    git push [remote] --all

9.撤銷

  1. 恢復到暫存區的自定檔案到工作區

    git checkout [file]

  2. 恢復某個commit的自定檔案到工作區

    git checkout [commit] [file]

  3. 恢復上一個commit的所有檔案到工作區

    git checkout .

  4. 重置暫存區的自定檔案,與上一次commit保持一致,但工作區不變

    git reset [file]

  5. 重置暫存區與工作區,與上一次commit保持一致

    git reset --hard

  6. 重置當前分支的指標為指定 commit,同時重置暫存區,但工作區不變

    git reset [commit]

  7. 重置當前分支的 HEAD 為指定 commit,同時重置暫存區和工作區,與指定 commit 一致

git reset --hard [commit]

  1. 重置當前 HEAD 為指定 commit,但保持暫存區和工作區不變

git reset --keep [commit]

  1. 新建一個 commit,用來撤銷指定 commit

  2. 後者的所有變化都將被前者抵消,並且應用到當前分支

    git revert [commit]