Git常用命令有哪些 总结整理Git常用操作命令大全

投稿  半夏小栈 2016-10-07 11:26 阅读 163 次 评论 11 条

Git是一个免费、开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是现在开发者的必备技能。我使用Git已经有一段时间了,在这里总结整理一下Git的常用命令以及常用操作,以便自己备忘也方便其他人参考。

Git常用命令有哪些 总结整理Git常用操作命令大全

创建

  1. git init 初始化git仓库
  2. git init <project-name> 新建一个目录,将其初始化为Git代码库
  3. git status 查看git仓库状态
  4. git diff <filename> 查看文件修改过的地方
  5. git add <filename>  添加文件到暂存区
  6. git commit -m "blablabla..." 提交文件到版本库
  7. git commit --amend 对上一次的提交做修改

配置

  1. git config –list 显示当前的Git配置
  2. git config -e <--global> 编辑Git配置文件
  3. git config <--global> user.name "<name>" 设置提交代码时的用户名
  4. git config <--global> user.email "<email address>" 设置提交代码时的用户邮箱地址

增加/删除文件

  1. git add <file1> <file2> ... 添加指定文件到暂存区
  2. git add <dir> 添加指定目录到暂存区,包括子目录
  3. git add . 添加当前目录的所有文件到暂存区
  4. git add -p对于同一个文件的多处变化,可以实现分次提交
  5. git rm <file1> <file2> ... 删除工作区文件,并且将这次删除放入暂存区
  6. git rm --cached <file> 停止追踪指定文件,但该文件会保留在工作区
  7. git mv <file-original> <file-renamed> 改名文件,并且将这个改名放入暂存区

代码提交

  1. git commit -m <message> 提交暂存区到仓库区
  2. git commit <file1> <file2> ... -m <message> 提交暂存区的指定文件到仓库区
  3. git commit -a提交工作区自上次commit之后的变化,直接到仓库区
  4. git commit -v提交时显示所有diff信息
  5. git commit --amend -m <message> 使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次commit的提交信息
  6. git commit --amend <file1> <file2> ... 重做上一次commit,并包括指定文件的新变化

远程库操作

  1. git remote -v 查看远程仓库
  2. git remote add origin git@server-name:path/repo-name.git  关联远程库(github已创建)
  3. git push -u origin master   关联后第一次推送
  4. git push origin master   平常推送
  5. git pull <remoteName> <localBranchName> 拉取远程仓库
  6. git clone git@server-name:path/repo-name.git 克隆仓库

版本回退和撤销修改

  1. git log 查看历史版本
  2. git log --pretty=oneline 查看简要历史版本(可以查看更多版本)
  3. git reset --hard HEAD^ 版本回退(上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100)
  4. git reset --hard <commit id> 版本回退第二种命令, 用commit 的id 来指定版本回退
  5. git reflog 查看命令历史, 可查看每次的命令操作 id 来进行历史操作的任意跳转(用到上面的命令)
  6. git checkout -- <filename>  撤销文件在工作区的修改

标签

  1. git tag 列出当前所有标签
  2. git tag -a <tagname> -m "blablabla..." 添加新标签
  3. git tag <tag> 新建一个tag在当前commit
  4. git tag <tag> <commit> 新建一个tag在指定commit
  5. git checkout -b <branch> <tag> 新建一个分支,指向某个tag
  6. git push <remote> <tag> 提交指定tag
  7. git push <remote> --tags提交所有tag
  8. git tag -d <tag> 删除本地tag
  9. git push origin :refs/tags/<tagName> 删除远程tag
  10. git push origin :refs/tags/<tagname>  删除远程指定标签
  11. git push origin --tags 推送所有标签到远程库
  12. git show <tag> 查看tag信息

分支

  1. git branch 查看当前所有分支
  2. git branch -r列出所有远程分支
  3. git branch -a列出所有本地分支和远程分支
  4. git branch <branchname> 创建分支,但依然停留在当前分支
  5. git checkout -b <branch> 新建一个分支,并切换到该分支
  6. git branch <branch> <commit> 新建一个分支,指向指定commit
  7. git branch --track <branch> <remote-branch> 新建一个分支,与指定的远程分支建立追踪关系
  8. git checkout <branchname> 切换分支
  9. git checkout <branch-name> 切换到指定分支,并更新工作区
  10. git checkout -切换到上一个分支
  11. git checkout -b <branchname> 创建分支并切换到新创建的分支
  12. git merge <branch> 合并指定分支到当前分支
  13. git cherry-pick <commit> 选择一个commit,合并进当前分支
  14. git log --graph 查看分支的合并情况
  15. git branch --set-upstream <branch> <remote-branch> 建立追踪关系,在现有分支与指定的远程分支之间
  16. git branch -d <branchname> 删除分支
  17. git push origin --delete <branch-name> 删除远程分支
  18. git branch -dr <remote/branch> 删除远程分支

查看信息

  1. git status显示有变更的文件
  2. git log显示当前分支的版本历史
  3. git log --stat显示commit历史,以及每次commit发生变更的文件
  4. git log -S <keyword> 搜索提交历史,根据关键词
  5. git log <tag> HEAD --pretty=format:%s显示某个commit之后的所有变动,每个commit占据一行
  6. git log <tag> HEAD --grep feature显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件
  7. git log --follow <file> 显示某个文件的版本历史
  8. git whatchanged <file> 显示某个文件改名的版本历史
  9. git log -p <file> 显示指定文件相关的每一次diff
  10. git log -5 --pretty --oneline显示过去5次提交
  11. git shortlog -sn显示所有提交过的用户,按提交次数排序
  12. git blame <file> 显示指定文件是什么人在什么时间修改过
  13. git diff显示暂存区和工作区的差异
  14. git diff --cached <file> 显示暂存区和上一个commit的差异
  15. git diff HEAD显示工作区与当前分支最新commit之间的差异
  16. git diff <first-branch>...<second-branch> 显示两次提交之间的差异
  17. git diff --shortstat "@{0 day ago}" 显示今天你写了多少行代码
  18. git show <commit> 显示某次提交的元数据和内容变化
  19. git show --name-only <commit> 显示某次提交发生变化的文件
  20. git show <commit>:<filename> 显示某次提交时,某个文件的内容
  21. git reflog显示当前分支的最近几次提交

远程同步

  1. git fetch <remote> 下载远程仓库的所有变动
  2. git remote -v显示所有远程仓库
  3. git remote show <remote> 显示某个远程仓库的信息
  4. git remote add <shortname> <url> 增加一个新的远程仓库,并命名
  5. git pull <remote> <branch> 取回远程仓库的变化,并与本地分支合并
  6. git push <remote> <branch> 上传本地指定分支到远程仓库
  7. git push <remote> --force强行推送当前分支到远程仓库,即使有冲突
  8. git push <remote> --all推送所有分支到远程仓库

撤销

  1. git checkout <file> 恢复暂存区的指定文件到工作区
  2. git checkout <commit> <file> 恢复某个commit的指定文件到暂存区和工作区
  3. git checkout . 恢复暂存区的所有文件到工作区
  4. git reset <file> 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
  5. git reset --hard重置暂存区与工作区,与上一次commit保持一致
  6. git reset <commit> 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
  7. git reset --hard <commit> 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
  8. git reset --keep <commit> 重置当前HEAD为指定commit,但保持暂存区和工作区不变
  9. git revert <commit> 新建一个commit,用来撤销指定commit,后者的所有变化都将被前者抵消,并且应用到当前分支
  10. git stash暂时将未提交的变化移除,稍后再移入
  11. git stash pop

其他

  1. git archive生成一个可供发布的压缩包

特别说明:

以上部分Git常用命令整理参考自阮一峰博主的《常用 Git 命令清单

文章标签: ,   ,  
原文地址:https://www.banxia.me/596.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 半夏小栈 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana

发表评论


表情

  1. 小萝博客
    小萝博客 【市长】 @回复

    原来是这么玩的啊

  2. 爱时尚
    爱时尚 【省长】 @回复

    博主总结的不错

  3. 野人摊影视分享
    野人摊影视分享 【村长】 @回复

    博客有没有关于wp使用自定义字段的教程分享下,教我玩玩哈,谢谢!

    • boke112导航
      boke112导航【站长】2016-10-07 23:13  回复

      @野人摊影视分享本站分享有一些关于自定义字段的文章,你可以搜索一下,至于具体的使用可以参考这篇文章:实例讲解WordPress自定义栏目及自定义字段

  4. 小C博客
    小C博客 【县长】 @回复

    git这个我们小博客用的不多吧!

  5. 雅兮网
    雅兮网 【省长】 @回复

    厉害了我的哥,这涉及到高端玩法了,菜鸟我还是远遁吧

  6. 明月登楼的博客
    明月登楼的博客 【总理】 @回复

    Git?跟我用的主题一个名字!囧!!!

  7. 每日一点
    每日一点 【县长】 @回复

    没有用过,学习了!