git的基本命令

來源:互聯網
上載者:User

標籤:str   git push   ini   epo   遠程倉庫   etc   伺服器   重設   地址   

在目前的目錄建立一個git程式碼程式庫
$ git init

設定提交代碼時的使用者資訊:
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"

查看、添加、提交、刪除、找回,重設修改檔案

git help <command> # 顯示command的help

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

git co -- <file> # 拋棄工作區修改

git co . # 拋棄工作區修改

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

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

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

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

git reset <file> # 從暫存區恢複到工作檔案

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

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

git ci <file> 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 # 恢複最後一次提交的狀態

查看檔案diff

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

git diff <id1><id1><id2> # 比較兩次提交之間的差異

git diff <branch1>..<branch2> # 在兩個分支之間比較

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

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

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

查看提交記錄

git log git log <file> # 查看該檔案每次提交記錄

git log -p <file> # 查看每次詳細修改內容的diff

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

git log --stat #查看提交統計資訊

tig

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

Git 本地分支管理

查看、切換、建立和刪除分支

git br -r # 查看遠程分支

git br <new_branch> # 建立新的分支

git br -v # 查看各個分支最後提交資訊

git br --merged # 查看已經被合并到當前分支的分支

git br --no-merged # 查看尚未被合并到當前分支的分支

git co <branch> # 切換到某個分支

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

git co -b <new_branch> <branch> # 基於branch建立新的new_branch

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

git co $id -b <new_branch> # 把某次曆史提交記錄checkout出來,建立成一個分支

git br -d <branch> # 刪除某個分支

git br -D <branch> # 強制移除某個分支 (未被合并的分支被刪除的時候需要強制)

分支合并和rebase

git merge <branch> # 將branch分支合并到當前分支

git merge origin/master --no-ff # 不要Fast-Foward合并,這樣可以產生merge提交

git rebase master <branch> # 將master rebase到branch,相當於: git co <branch> && git rebase master && git co master && git merge <branch>

Git補丁管理(方便在多台機器上開發同步時用)

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

git apply ../sync.patch # 打補丁

git apply --check ../sync.patch #測試補丁能否成功

Git暫存管理

git stash # 暫存

git stash list # 列所有stash

git stash apply # 恢複暫存的內容

git stash drop # 刪除暫存區

Git遠程分支管理

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

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

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

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

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

git co -b <local_branch> origin/<remote_branch> # 基於遠程分支建立本地分支,功能同上

git push # push所有分支

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

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

git push origin <local_branch> # 建立遠程分支, origin是遠程倉庫名

git push origin <local_branch>:<remote_branch> # 建立遠程分支

git push origin :<remote_branch> #先刪除本地分支(git br -d <branch>),然後再push刪除遠程分支

Git遠程倉庫管理

GitHub

git remote -v # 查看遠程伺服器位址和倉庫名稱

git remote show origin # 查看遠程伺服器倉庫狀態

git remote add origin [email protected] github:robbin/robbin_site.git # 添加遠程倉庫地址

git remote set-url origin [email protected] github.com:robbin/robbin_site.git # 設定遠程倉庫地址(用於修改遠程倉庫地址) git remote rm <repository> # 刪除遠程倉庫

建立遠程倉庫

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

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

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

git remote add origin [email protected] 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的基本命令

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.