Git命令

Git命令

經常使用操做命令

1.新建代碼庫

  • 在當前目錄下新建一個git代碼庫:git init
  • 新建一個目錄,將其初始化爲git代碼庫:git init [projectName]
  • 下載一個項目:git clone [url]

2.配置

Git的配置文件爲.gitconfig,它能夠在用戶主目錄下(全局配置),也能夠在項目目錄下(項目配置)。git

  • 顯示當前的Git配置:git config –list
  • 編輯Git配置文件:git config -e [–global]
  • 設置提交代碼時的用戶信息:
    • git config [–global] user.name 「[name]」
    • git config [–global] user.email 「[email address]」

3.增長/刪除文件

  • 添加指定文件到暫存區:git add [file1] [file2] …
  • 添加指定目錄到暫存區,包括子目錄:git add [dir]
  • 添加當前目錄的全部文件到暫存區:git add .
  • 添加每一個變化前,都會要求確認,對同一個文件的多處變化,能夠實現分次提交:
    • git add -p
  • 刪除工做區文件,而且將此次刪除放入暫存區:git rm [file1] [file2] …
  • 中止追蹤指定文件,但該文件會保留在工做區:git rm –cached [file]
  • 更名文件,而且將這個更名放在暫存區:git mv [file-original-name] [file-renamed]

4.代碼提交

  • 提交暫存區到倉庫區:git commit -m [message]
  • 提交暫存區的指定文件到倉庫區:git commit [file1] … -m [message]
  • 提交工做區自上次commit以後的變化,直接到倉庫區:git commit -a
  • 提交時顯示全部diff信息:git commit -v
  • 使用一次新的commit,替代上一次提交,若是代碼沒有任何新變化,則用來改寫上一次commit的提交信息:git commit –amend -m [message]
  • 重作上一次commit,幷包括指定文件的新變化:git commit –amend [file1] [file2] …

5.分支

  • 列出本地全部分支:git branch
  • 列出全部遠程分支:git branch -r
  • 列出全部本地分支和遠程分支:git branch -a
  • 新建一個分支,但依然停留在當前分支: git branch [branch-name]
  • 新建一個分支,並切換到該分支:git checkout -b [branch]
  • 新建一個分支,指向指定commit:git branch [branch] [commit]
  • 新建一個分支,與指定的遠程分支創建追蹤關係:git branch –track [branch] [remote-branch]
    • 建立空的分支:(執行命令以前記得先提交你當前分支的修改,不然會被強制刪乾淨,)
      • git symbolic-ref HEAD refs/heads/[name]
      • rm .git/index
      • git clean -fdx
  • 切換到指定分支,並更新工做區:git checkout [branch] [remote-branch]
  • 切換到上一個分支:git checkout
  • 創建追蹤關係,在現有分支與指定遠程分支之間:git branch –set-upstream [branch] [remote-branch]
  • 合併指定分支到當前分支:git merge [branch]
  • 選擇一個commit,合併進當前分支:git cherry-pick [commit]
  • 刪除分支:git branch -d [branch-name]
  • 刪除遠程分支:
    • git push origin –delete [branch-name]
    • git branch -dr [remote/branch]

6.標籤

  • 列出全部tag:git tag
  • 新建一個tag在當前commit:git tag [tag]
  • 新建一個tag在指定commit:git tag [tag] [commit]
  • 刪除本地tag:git tag -d [tag]
  • 刪除遠程tag:git push origin :refs/tags/[tagName]
  • 查看tag信息:git show [tag]
  • 提交全部tag:git push [remote] –tags
  • 提交指定tag:git push [remote] [tag]
  • 新建一個分支,指向某個tag:git checkout -b [branch] [tag]

7.查看信息

  • 顯示有變動的文件:git status
  • 顯示當前分支的版本歷史:git log
  • 顯示commit歷史,以及每次commit發生變動的文件:git log –stat
  • 搜索提交歷史,根據關鍵詞:git log -s [keywo]
  • 顯示某個commit以後的全部變更,每一個commit佔據一行:git log [tag] HEAD –pretty=format:%s
  • 顯示某個commit以後的全部變更,其」提交說明」必須符合搜索條件:git log [tag] HEAD –grep feature
  • 顯示過去5次提交:git log -5 –pretty –online
  • 顯示全部提交過的用戶:git shortlog -sn

分支操做相關命令

  • 查看本地分支: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]

版本(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’

本地代碼上傳到git倉庫(項目遷移)

  • 初始化:git init
  • 添加文件到版本庫中:git add .
  • 提交文件到倉庫:git commit -m ‘’
  • 關聯到遠程庫:git remote add origin 遠程倉庫地址
  • 獲取遠程倉庫的內容推送到遠程(若是遠程庫不爲空必須作這一步,不然後面提交會失敗):git pull –rebase origin master
  • 推送本地庫代碼:git push -u origin master
  • 狀態查詢:git status
相關文章
相關標籤/搜索