设为首页 收藏本站
查看: 2927|回复: 0

[经验分享] git命令快速参考

[复制链接]

尚未签到

发表于 2018-1-15 09:16:09 | 显示全部楼层 |阅读模式
  参考文章:http://jiangli.easymorse.com/?p=510#comment-3886
  安装和初始化
  配置全局用户名和电子邮件地址
  git config  –global user.name  “your name”
  git config  –global user.email  you@example.com
  为特定的版本库配置用户名和电子邮件地址,你可以为每个版本库设置用户名和版本号
  cd /path/to/repo
  git config user.name “Your name”
  git config user.email you@eamil.com
  在命令行中使用不同颜色显示不同内容
  git config  –globalcolor.ui “auto”
  初始化版本库
  mkdir /path/to/repo
  cd /path/to/repo
  git init
  git add .
  git commit –m “initial import”
  克隆版本库
  git clone <repository url>
  将目录中的内容纳入git版本控制
  cd /path/to/exiting/directory
  git init
  git add .
  git commit –m “initial import of some project”
  上边命令git commit –m 后面加的标注既可以用双引号,也可以用单引号,标注内容也可以是中文。
  将版本库中设置远程版本库的别名
  git remote add <remote repository> <repository url>
  日常操作
  添加新文件或者暂存已有文件上的改动,然后提交
  git add <some file>
  git commit –m “<some message>”
  暂存已有文件上的部分修改
  注意:[…]表示可选参数
  git add –p [<some file> [<some file> [and so on]]]
  使用交互方式添加文件
  git add –i
  暂存已纳入git版本控制下的文件修改
  git add –u [<some path> [<some path>]]
  提交已纳入git版本控制之下的文件的所有修改
  git commit –m “<some message>” –a
  清除工作目录树中的修改
  git checkou HEAD <some file> [<some file>]
  取消已暂存但尚未提交的修改的暂存标识
  git reset HEAD <some file> [<some file>]
  修复上一次提交中的问题
  修改相关文件,并暂存…
  git commit –m “<some message>”  –amend
  修复上一次提交中的问题,并服用上次的提交注释
  git commit –C HEAD  –amend
  分支
  列出本地分支
  git branch
  列出远程分支
  git branch –r
  列出所有分支
  git branch –a
  基于当前分支(的末梢)创建新分支
  git branch <new branch>
  检出另一条分支
  git checkout <some branch>
  基于当前分支创建新分支,同时检出该分支
  git checkout –b <new branch>
  基于另一个起点,创建新分支
  你可以从版本库中的任何一个版本开始创建新分支,这个起点可以用一条已有的分支名称,一个提交名称,或者一个标签名称来表达。
  git branch <new branch> <start point>
  创建同名新分支,覆盖已有分支
  git branch –f <some existing branch> [<start point>]
  移动或重命名分支
  只有当<new branch>不存在时
  git checkout –m <existing branch name> <new branch name>
  如果<new branch>已存在,就覆盖它
  git checkout –M <existing branch name> <new branch name>
  把另一条分支合并到当前分支
  git merge <some branch>
  合并,但不提交
  git merge  –no-commit <some branch>
  拣选合并,并且提交
  git chery-pick <commit name>
  拣选合并,不提交
  git cherry-pick –n <commit name>
  把一条分支上的内容压合到另一条分支(上的一个提交)
  git merge –squash <some branch>
  删除分支
  git branch –d <brach to delete>
  不论欲删除的分支是否已合并到当前分支
  git branch –D <branch to delete>
  历史
  显示全部历史记录
  git log
  显示版本历史以及版本间的内容差异
  git log –p
  只显示最近一个提交
  git log –1
  显示最近的20个提交,以及版本间的内容差异
  git log –20 –p
  显示最近6小时的提交
  git log –since=”6 hours”
  显示两天之前的提交
  git log –before=”2 days”
  显示比HEAD(当前检出分支的末梢)早3个提交的那个提交
  git log –1 HEAD~3
  或者
  git log –1 HEAD^^^
  或者
  git log –1 HEAD~1^^
  显示两个版本之间的提交
  下面命令中的<start point>和<end point>可以是一个提交名称,分支名称,标签名称,或者他们的混合。
  git log <start point>…<end point>
  显示历史,每个提交显示一行,包括提交注释的第一行
  git log –pretty=oneline
  显示改动行数统计
  git log –stat
  显示当前工作目录树和暂存区间的差别
  git diff
  显示暂存区和版本库之间的差别
  git diff –cached
  显示工作目录树和版本库间的差别
  git diff HEAD
  显示工作目录树与版本库中某次提交版本之间的差别
  <start point>可以是一个提交名称,分支或者标签名称
  git diff <start point>
  显示版本库中两个版本之间的差别
  git diff <start point> <end point>
  显示差别的相关统计
  git diff –stat <start point> [<end point>]
  显示文件中各个部分的修改者及相关提交信息
  git blame <some file>
  显示文件中各个部分的修改者及相关提交信息,包括在该文件中复制,粘贴和移动内容等方面的情况。
  git blame –M <some file>
  显示文件中各部分的修改者及相关提交信息,包括在文件间移动内容方面的情况
  git blame –C –C <some file>
  显示历史时,显示复制和粘贴信息
  git log –C –C –p –1 <some file>
  远程版本库
  克隆远程版本库
  git clone <some repository>
  克隆远程版本库,但只下载其中最近200个提交的历史记录
  git clone –depth 200 <some repository>
  在本地版本库中设置远程版本库的别名
  git remote add <remote repository> <repository url>
  显示远程分支
  git branch –r
  基于远程分支创建本地分支
  git branch <new branch> <remote branch>
  基于远程标签创建本地分支
  git branch <new branch> <remote tag>
  从别名为“origin”的远程版本库中取来修改变化,但不合并到本地分支
  git fetch
  从任意的远程版本库中取来修改变化,但是不合并到本地分支
  git fetch <remote repository>
  从任意的远程版本库中取来修改变化,并合并到当前检出的本地分支
  git pull <remote repository>
  从别名为“origin”的远程版本库中取来修改变化,并合并到当前检出的本地分支
  git pull
  把修改变化从本地分支推入远程版本库
  git push <remote repository> <local branch>:<remote branch>
  把修改变化从本地分支推入远程版本库中同名分支
  git push <remote repository> <local branch>
  把修改变化从本地新建分支推入远程版本库
  git push <remote repository> <local branch>
  把修改变化推入别名为“origin”的远程版本库
  当远程版本库已有同名分支是,这个命令会推入本地分支到远程版本库对应的分支中,如果远程版本库中尚无同名分支,则须使用git push <repository name> <local branch>
  git push
  在远程版本库中删除分支
  git push <remote repository> :<remote branch>
  在本地库中删除所有远程版本库中已不存在的分支
  git remote prune <remote repository>
  在本地版本库中删除耨个远程版本库的简称以及该远程版本库相关的分支
  git remote rm <remote repository>
  连接git和svn
  git可以读取svn版本库中的数据,并把本地修改送回svn版本库。
  克隆svn版本库的全部内容
  git svn clone <svn repository>
  克隆具有标准结构的svn版本库
  下面这个命令适用于克隆标准结构的svn数据库,也就是说,主干命名为trunk,其他分支都放在branches目录下,标签都存放在tags目录下
  git svn clone –s <svn repository>
  克隆非标准结构的svn版本库
  git svn clone –T <trunk path>\
  -b <branch path>\
  -t <tag path>\
  <svn repository>
  克隆具有标准结构的svn版本库中的某个版本(比如1111版)
  git svn clone –s –r 1111
  克隆具有标准结构的svn版本库,并对svn中的分支添加前缀
  git svn clone –s  –prefix  svn/ <svn repository>
  从上游svn版本库中获得更新的内容,并以此在本地git版本库中编辑本地分支
  git svn rebase
  把修改变化推回上游svn版本库
  gir svn dcommit
  列出所有将推入上游svn版本库的提交
  git svn dcommit –n
  显示svn历史记录
  git svn log
  显示问家中各个部分的svn的修改者及相关提交信息
  git svn blame <some file>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435242-1-1.html 上篇帖子: Git reset 常见用法 下篇帖子: Git push 常见用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表