开发必备-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生成新的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章