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

Git Cheat

作者头像
happy123.me
发布2018-06-04 10:26:06
5050
发布2018-06-04 10:26:06
举报
文章被收录于专栏:乐享123乐享123

整理一下经常忘记的Git命令

remote 同步

1 2 3 4

$ git remote -v // 查看当前远程版本库 $ git remote add cocos2d-x git://github.com/cocos2d/cocos2d-x.git // 添加原始版本库 $ git fetch cocos2d-x // 获取原始版本库的更新 $ git merge cocos2d-x/master // 合并原始版本库的代码到当前版本库中,合并前确保当前分支是master

remote branch

1 2 3 4 5 6

$ git branch -a //查看所有分支 $ git checkout -b branches/xxx origin/branches/xxx //chekcout远程分支 $ git push origin --delete <branchname> //删除远程分支 $ git push origin --delete tag <tagname> //删除远程tag $ git push origin :<branchName> //推送一个空分支到远程分支,相当于删除分支 $ git push origin :refs/tags/<tagName> //推送一个空tag到远程,相当于删除tag

删除不存在对应远程分支的本地分支

假设这样一种情况:

  1. 我创建了本地分支b1并pull到远程分支 origin/b1;
  2. 其他人在本地使用fetch或pull创建了本地的b1分支;
  3. 我删除了 origin/b1 远程分支;
  4. 其他人再次执行fetch或者pull并不会删除这个他们本地的 b1 分支,运行 git branch -a 也不能看出这个branch被删除了,如何处理?

1

git fetch -p //在fetch之后删除掉没有与远程分支对应的本地分支

重命名远程分支

在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支

1 2 3

$ git push --delete origin devel //删除远程分支 $ git branch -m devel develop //重命名本地分支 $ git push origin develop //推送本地分支

把本地tag推送到远程

1

$ git push --tags

获取远程tag

1

$ git fetch origin tag <tagname>

合并branch上的指定文件

branches/A 上修改了一个文件A.h,新增了一个文件B.h,删除了一个文件C.h。

1 2 3 4 5 6 7

$ git checkout master //首先切换到master分支 $ git checkout -p branches/A A.h //不切换branch,把RemLanbranches/A上的A.h更新到当前分支 $ git checkout branches/A B.h //去掉-p参数,新增该B.h文件 $ rm C.h //删除文件目前还没找到其他办法,但效果是一样的

分支的衍合

参考:http://git-scm.com/docs/git-rebase

diff

只显示两个分支间的差异,如果你想找出‘master’,‘test’的共有 父分支和’test’分支之间的差异,你用3个‘.‘来取代前面的两个’.‘ 。

1

$ git diff master..test

显示你当前的索引和上次提交间的差异;这些内容在不带”-a”参数运行 “git commit”命令时就会被提交。

1

$ git diff --cached

显示你工作目录与上次提交时之间的所有差别,这条命令所显示的 内容都会在执行”git commit -a”命令时被提交。

1

$ git diff HEAD

如果你要查看当前的工作目录与另外一个分支的差别,你可以用下面的命令执行: 这会显示你当前工作目录与另外一个叫’test’分支的差别。你也以加上路径限定符,来只 比较某一个文件或目录。

1

$ git diff test

显示你当前工作目录下的lib目录与上次提交之间的差别(或者更准确的 说是在当前分支)。

1

$ git diff HEAD -- ./lib

如果不是查看每个文件的详细差别,而是统计一下有哪些文件被改动,有多少行被改 动,就可以使用‘—stat’ 参数。

1

$ git diff --stat

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • remote 同步
  • remote branch
    • 删除不存在对应远程分支的本地分支
      • 重命名远程分支
        • 把本地tag推送到远程
          • 获取远程tag
            • 合并branch上的指定文件
              • 分支的衍合
              • diff
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档