Git常用命令

184 阅读3分钟
  1. Clone远程代码

    git clone 地址
    
  2. 查看所有分支

    git branch -a
    
  3. 创建repository(版本库)

    git init
    
  4. 添加文件到仓库

    git add 文件
    
  5. 在本地切换到远程某分支并在本地新建一个与远程分支同名的分支

    git chekcout -t origin/分支名 [-b 本地分支使用名]
    
  6. 添加远程分支

    git push origin <local_branch_name>:<remote_branch_name>
    

    或直接用当前本地分支在远程创建分支

    git push origin <remote_branch_name>
    
  7. 删除远程分支

    git push origin :<remote_branch_name>
    git push origin --delete <remote_branch_name>
    
  8. 编辑上一次的commit

    git commit --amend
    
  9. 恢复某删除的文件

    git checkout 分支名 文件或路径
    
  10. 从远程获取某个分支到本地,再于本地指定分支进行自动merge

    git pull <remote_repository> <remote_branch_name>:<local_branch_name>
    
  11. 查看已跟踪的文件中哪些有改动

    git status -uno
    
  12. 从跟踪文件清单中移除文件,并连带从工作目录中删除指定的文件

    git rm <file>
    
  13. 移除跟踪但不删除文件

    git rm --cached <file>
    
  14. 重命名

    git mv <source> <destination>
    
  15. 显示最近两次的详细提交日志

    git log -p -2
    
  16. 上一次提交忘记暂存某些修改,想补上

    git commit -m "initial commit"
    git add forgotten_file
    git commit --amend
    
  17. 取消已暂存的文件

    git reset HEAD <file>
    
  18. 取消对文件的修改

    git checkout -- <file>
    
  19. 添加远程仓库

    git remote add [shortname ] [url]
    
  20. 查看远程仓库

    git remote [show] [remote-name]
    
  21. 查看分支树

    git log --oneline --graph --all --decorate
    
  22. 同步远程仓库信息到本地仓库

    git remote update <remote-name>
    
  23. Linux下Git颜色配置

    git config --global color.status auto
    git config --global color.diff auto
    git config --global color.branch auto
    git config --global color.interactive auto
    
  24. 撤销commit

    git reset --hard commit_id
    git push origin HEAD --force
    
  25. 暂存当前正在进行的工作

    git stash
    git stash pop
    
  26. 打标签和删除标签

    git tag -a [tag_name] [commit_id]
    git tag -d [tag_name]
    
  27. 推送和删除远程标签

    git push origin [tag_name]
    git push origin --tags
    git push origin :refs/tags/[tag_name]
    
  28. 从指定Tag快照建立分支

    git chekcout -b branch_name tag_name
    
  29. 衍合(rebase):将当前分支commit重新提交到指定分支,将改变当前分支所有commit的Hash值

    git rebase [branch_name]
    
  30. 指定衍合:取出client分支,找出client分支和server分支的共同祖先之后的变化,然后把它们在master上重演一遍

    git rebase master server client
    
  31. 查看某个文件的[最近几次]修改历史

    git log -p [-n] <FileName>
    
  32. 查看某次Commit的详细信息

    git show <Commit-Hash-Id>
    
  33. 拷贝仓库

    cd existing_repo
    git remote add origin https://lhz@172.16.0.142:8443/5050/JSLT.git
    git push -u origin --all
    git push -u origin --tags
    
  34. Git配置

    git config --global user.name "Morale"
    git config --global user.email name@mail.com
    git config --global http.sslVerify false
    
  35. Git别名

    git config --global alias.ct 'log --all --oneline --decorate --graph'
    
  36. 撤销commit

    git reset –hard [commit_id]
    

    这种方式撤回到commit_id那次提交,文件同时也恢复到这次commit之后的状态。如果你只想撤销提交,但文件保持原状,可以使用

    git reset [commit_id]
    
  37. 将某个分支上的提交再次提交到另一个分支

    git cherry-pick [commit_id]
    
  38. 本地仓库关联远程仓库

    git remote add [本地仓库名] [远程仓库地址]