開發必備-Git常用命令(持續更新中...)

一、創建倉庫

  • git init:初始化倉庫
  • git add:添加文件到暫存區
  • git commit:把暫存區的內容提交到當前分支

二、修改文件

  • git status:當前倉庫狀態
  • git diff:查看修改前後的差異
    $ git diff Readme.txt
    diff --git a/Readme.txt b/Readme.txt
    index e69de29..c23da0c 100644
    --- a/Readme.txt
    +++ b/Readme.txt
    @@ -0,0 +1 @@
    +this is a git.
    \ No newline at end of file
    

三、版本回退

  • git log:查看提交記錄(詳細信息)
  • git log --pretty=oneline:查看提交記錄(每個記錄只顯示一行)
    $ git log --pretty=oneline
    f3c9948c90e6a26c0a48c983ad3cae8334f98d13 (HEAD -> master) learn
    b57d4edcdfc783a1ecf88f8f18c718e4d4bfb348 newer
    d0ca8e90b4f713e995e755d0c3d681e839790bd5 init
    
  • git reset --hard HEAD^:回退到當前版本的前一個版本,因爲HEAD代表當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100
    $ git reset --hard HEAD^
    HEAD is now at b57d4ed newer
    
    $ git log --pretty=oneline
    b57d4edcdfc783a1ecf88f8f18c718e4d4bfb348 (HEAD -> master) newer
    d0ca8e90b4f713e995e755d0c3d681e839790bd5 init
    
  • git reset --hard <commit_id>:重新設置回某一個commit_id
    $ git reset --hard f3c9948c90e6a26c0a48c983ad3cae8334f98d13
    HEAD is now at f3c9948 learn
    
    $ git log --pretty=oneline
    f3c9948c90e6a26c0a48c983ad3cae8334f98d13 (HEAD -> master) learn
    b57d4edcdfc783a1ecf88f8f18c718e4d4bfb348 newer
    d0ca8e90b4f713e995e755d0c3d681e839790bd5 init
    
  • git reflog:查看每一次提交命令
    $ git reflog
    f3c9948 (HEAD -> master) HEAD@{0}: reset: moving to f3c9948c90e6a26c0a48c983ad3cae8334f98d13
    b57d4ed HEAD@{1}: reset: moving to HEAD^
    f3c9948 (HEAD -> master) HEAD@{2}: commit: learn
    b57d4ed HEAD@{3}: commit: newer
    d0ca8e9 HEAD@{4}: commit (initial): init
    

四、撤銷修改

  • git checkout -- file:丟棄工作區的修改。如果尚未放到暫緩區的修改,將會撤回到和版本庫一模一樣的狀態;如果添加到暫緩區之後又做了修改,則恢復到添加到暫緩區後的狀態。
  • git reset HEAD <file>:將暫緩區的修改退回到工作區。
    image

五、刪除文件

  • git rm:從暫緩區刪除文件(同git add類似)

六、遠程倉庫

  • cat ~/.ssh/id_rsa.pub:查看本地SSH Key
  • ssh-keygen -t rsa -C "[email protected]":如果本地沒有SSH Key,則創建一個
  • git remote add origin ***:把本地倉庫關聯到遠程倉庫
  • git push -u origin master:把本地代碼推送到遠程倉庫的master分支
  • git clone ***:克隆遠程倉庫到本地

七、分支管理

1.創建分支

  • git checkout -b your_branch_name:基於當前最新節點創建了一個新的本地分支
  • git push origin your_branch_name:把創建出來的本地分支提交到遠程倉庫

2.合併分支

  • git merge --no--ff branch:可以保存你之前的分支歷史。能夠更好的查看 merge歷史,以及branch 狀態。
  • git commit --amend:追加commit,生成changeid

3.更新遠程分支

  • git remote update origin --prune:更新遠程分支

八、修改change-id

  • git commit --amend:追加提交,繼續使用舊的change-id.
  • git commit –amend -m“…”:你已經刪除了change-id,所以gerrit生成新的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章