前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git 常用命令总结

Git 常用命令总结

作者头像
好好学java
发布2019-12-05 16:40:12
4080
发布2019-12-05 16:40:12
举报
文章被收录于专栏:好好学java的技术栈
代码语言:javascript
复制
作者:请叫我攻城狮
链接:https://segmentfault.com/a/1190000020912590

下面以从github作为远程仓库为例 gitee 只需替换对应仓库链接,有关Git的相关教学可以参考廖雪峰老师的Git教程,这里不多介绍了。当然以下命令行只是方便你在没有图形化工具的情况下知道如何操作Git,个人觉得很有必要知道,对理解Git原理也会有帮助

  1. 配置git Git用户名 git config --global user.name "Your Name" 邮箱 git config --global user.email "email@example.com" Git显示颜色 git config --global color.ui true
  2. 初始化 mkdir project cd project git init
  3. 添加文件并提交代码(git commit之前需先git addcommit只负责提交暂存区的内容) git add README.md(文件名) # git add -f README.md(-f为强制添加,可提交.gitignore中配置的文件) git commit -m "提交备注"
  4. 查看当前仓库状态 git status
  5. 对比文件改动内容 git diff README.md(文件名)
  6. 查看Git日志 git log
  7. 版本回退到第N个版本前 git reset --hard HEAD~N
  8. 版本回退(切换)到指定版本(git每次提交的唯一十六进制的id,git log或者git reflog(记录每次一提交的信息)可以查看) git reset --hard e475afc93c209a690c39c13a46716e8fa000c366(版本号,这只是个例子,此值不必写全,只要能让git知道是哪个把那本就行,一般写5-6位即可)
  9. 撤销修改(撤销到最近一次git addgit commit之前的状态) git checkout -- README.md(文件名)
  10. 撤销暂存区的修改(git commit之前) git reset HEAD README.md(文件名)
  11. 删除文件(确定删除需要git commit,若误删可以使用git checkout -- 文件名) git rm README.md(文件名)
  12. 查看远程仓库连接信息(fetch抓取,push推送) git remote -v
  13. 关联远程仓库 git remote add origin git@github.com:username/xxxx.git
  14. 推送到远程库(第一次推送master分支) git push -u origin master
  15. 推送到远程库 git push origin 分支名
  16. 克隆代码 git clone https://github.com/username/xxxx.gitgit clone git@github.com:username/xxxx.git
  17. 克隆指定分支代码 git clone -b 分支名 https://github.com/username/xxxx.git
  18. 创建分支 git branch 分支名
  19. 切换分支 老版本 git checkout 分支名 新版本 git switch 分支名
  20. 创建分支并切换 老版本 git checkout -b 分支名 新版本 git switch -c 分支名
  21. 查看分支 git branch
  22. 查看所有分支(本地+远程,远程分支会以红色标出,当前分支前面会标一个*号) git branch -a
  23. 合并某分支到当前分支,若存在冲突会提示手动修改后再提交,git merge默认为fast forward模式 fast forward模式 git merge 其他分支名 禁用Fast forward模式(--no-ff) 推荐 git merge --no-ff -m "提交备注" 其他分支名git log --graph --pretty=oneline --abbrev-commit命令可以看到分支合并图
  24. 删除分支 git branch -d 分支名 强行删除分支 git branch -D 分支名
  25. 保存工作空间 git stash
  26. 查看保存的工作空间 git stash list
  27. 从保存的工作空间恢复 git stash apply 若存在多个保存的工作空间(n为序号0开始) git stash apply stash@{n}
  28. 删除保存的工作空间 git stash drop 若存在多个保存的工作空间(n为序号0开始) git stash drop stash@{n}
  29. 从保存的工作空间恢复并删除保存的空间 git stash pop 若存在多个保存的工作空间(n为序号0开始) git stash pop stash@{n}
  30. 将其他分支上的提交应用到当前分支 git cherry-pick commit的编号
  31. 抓取代码 git pull
  32. 将本地分支与远程分支关联 git branch --set-upstream-to 分支名 origin/分支名
  33. 把本地未push的分叉提交历史整理成直线; git rebase rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
  34. 打标签 git tag v1.0 commit的id(不加则为之后的commit添加标签) git tag -a v1.0 -m "提交备注" commit的id(不加则为之后的commit添加标签)
  35. 查看所有标签 git tag
  36. 查看标签信息 git show v1.0
  37. 删除本地标签 git tag -d v0.1
  38. 删除远程标签 git push origin :refs/tags/v1.0
  39. 推送某个标签到远程 git push origin v1.0
  40. 推送全部尚未推送的标签 git push origin --tags
  41. 同一套代码关联多个远程库(同时关联github和gitee为例) 关联GitHub的远程库 git remote add github git@github.com:username/xxxx.git 关联Gitee的远程库 git remote add gitee git@gitee.com:username/xxxx.git 推送Github git push github master 推送Gitee git push gitee master
  42. 查看.gitignore文件中哪条规则写错了 git check-ignore -v 文件名
  43. 设置命令别名 git status => git st git config --global alias.st status git reset HEAD file => git unstage git config --global alias.unstage 'reset HEAD' git log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit => git lg git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

暂时只能整理这么多啦

更多Java技术文章,尽在【好好学java】网站。 网址:www.java1000.com 搜索 好好学java 阅读原文 可达!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 好好学java 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档