• 1. 拉取远程代码并且覆盖本地更改
  • 2. 列出远程和本地所有分支
  • 3. 强制更新远程分支
  • 4. 回滚一个 merge
  • 5. 修改之前的提交记录或者很久前提交的记录
  • 6. 使用多个远程代码库,并且使用多个不同的 SSH Key
  • 7. 和外部团队协作需要的维护多个远程库,合并其他库的更新的过程
  • 8. 撤销 Git 的最后一次提交

1. 拉取远程代码并且覆盖本地更改

  1. git fetch origin && git reset hard origin/master

2. 列出远程和本地所有分支

  1. git branch -a
  2. git branch -r

3. 强制更新远程分支

  1. git push origin master -f

4. 回滚一个 merge

  1. git revert -m xxxx

5. 修改之前的提交记录或者很久前提交的记录

  1. git rebase interactive ID^
  2. 将需要修改的记录的 pick 改成 edit
  3. 执行更改
  4. git commit all amend
  5. git rebase continue

6. 使用多个远程代码库,并且使用多个不同的 SSH Key

修改 ~/.ssh/config
  1. Host bitbucket.org
  2. HostName bitbucket.org
  3. PreferredAuthentications publickey
  4. IdentityFile ~/.ssh/id_rsa
  5. User git
  6.  
  7. Host bitbucket.org-key2
  8. HostName bitbucket.org
  9. IdentityFile ~/.ssh/key2_id_rsa
  10. User git
修改 .git/config
  1. [remote origin”]
  2. url = git@bitbucket.org-key2:XXXX/yyyy.git
  3. fetch = +refs/heads/*:refs/remotes/origin/*

7. 和外部团队协作需要的维护多个远程库,合并其他库的更新的过程

  1. git remote rename origin upstream
  2. git remote add origin URL_TO_GITHUB_REPO
  3. git push origin master
  4. git pull upstream master && git push origin master

8. 撤销 Git 的最后一次提交

  1. git reset soft HEAD~
 

8 个不常见但很有用的 Git 命令的更多相关文章

  1. 你不一定知道的几个很有用的 Git 命令

    这里给大家分享一些很有用的 Git 命令,其中很多用法你可能都不知道,无论你是工作在团队环境中或在您的个人项目中,这些命令将对你帮助很大,让你可以更加高效的进行项目开发,更轻松愉快的工作和生活. 您可 ...

  2. 不常见但很有用的chrome调试工具使用方法

    前面的话   对于chrome调试工具,常用的是elements标签.console标签.sources标签和network标签.但实际上,还有一些不太常见但相当实用的方法可以提高网页调试效率.本文将 ...

  3. 一些不太常见但很有用的java类

    java.util.concurrent.CopyOnWriteArrayList CopyOnWrite容器只能保证数据的最终一致性,不能保证数据的实时一致性.所以如果你希望写入的的数据,马上能读到 ...

  4. 11 个很少人知道但很有用的 Linux 命令

    Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有 ...

  5. 不常用但很有用的git show 和 git blame

    团队使用git 合作时,可能遇见想要查看一段比较难以阅读代码, 此时可能需要联系最新的修改者是哪位,这时候最有用的最快捷的方法就是git blame 啦, 这个指令的output是一个文件的各个区域段 ...

  6. 有用的git命令

    1. git log -p // 查看log的详细信息 2. git reset HEAD xxxx // 将文件从stage状态拉出来 3. git checkout -- xxxx // 将修改的 ...

  7. 一些有用的git命令清单

    以下是一些我常用的git命令清单 如果以下的命令不清晰细节,请看git的文档. 设置个人信息 git config --global user.name "John Doe" gi ...

  8. 【工匠大道】一些Vim(Linux)不常见但很逼格的命令(不断更新中)

    本文地址 分享提纲: 1. :Tlist 2. :colorscheme 3. :set cursorline 4. ma 5. vim -x 6. CTRL-] 7. 折叠 8. 向别的用户终端写信 ...

  9. 对于 Web 开发很有用的 jQuery 效果制作教程

    如果你的项目中需要响应式滑块,炫丽的图片呈现,对话框提示,轻巧动画等效果,jQuery 是完美的解决方案.凭借这个快速,易用的 JavaScript 库,可以轻松处理语言之间的交互,它给人最快速的 W ...

随机推荐

  1. CDN和镜像站点比较

      CDN和镜像站点是常用的提高网站访问速度的两种方式,但这两种方式具体是什么.二者间有什么相同和不同之处,本文对此做一粗浅介绍. 一.镜像站点 1.1定义 镜像网站是指将一个完全相同的网站源程序放到 ...

  2. CSS页面重构“鑫三无准则”之“无图片”准则——张鑫旭

    一.再说关于“鑫三无准则” “鑫三无准则”这个概念貌似最早是在去年的去年一篇名叫“关于Google圆角高光高宽自适应按钮及其拓展”的文章中提过.这是自己在页面重构的经验中总结出来的一套约束自己CSS的 ...

  3. css类选择器类名覆盖优先级

    code <style> .a{ background: red; } .b{ background: yellow; } </style> <div class=&qu ...

  4. web百度地图离线开发

    公司现在做的一个项目本来用的是google离线地图,但是发现谷歌的地图数据很久没更新数据了,中国的城市发展这么快,好多地方地图和现实都对不上了. 发现百度地图数据更新挺快的(呵呵,毕竟是国产的吗),最 ...

  5. WPF tooltip 根据父元素属性决定是否显示

    例如:Placement为disable的时候,需要显示一段tooltip, 而当Placement为enable的时候,不显示 <Button Grid.Row="2" x ...

  6. spring测试框架的使用

    junit的使用 1.加入 junit jar包 <dependency> <groupId>junit</groupId> <artifactId>j ...

  7. redis介绍(5)主从复制

    redis的主从复制: 主从复制介绍:redis的主从复制情况下,一个master节点下可以有多个slave节点,而且每个slave节点又可以有很多slave节点,形成很大的集群量级,我简单画个图,如 ...

  8. Week5——applet

    1.定义 applet是一种Java程序.它一般运行在支持Java的Web浏览器内.因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序. 2.特点(不同于Java  a ...

  9. gitlab的仓库迁移到新的gitlab

    1.下载原有gitlab源码 git clone http://gitlab.**.com/projectName gitlab地址替换成为新gitlab地址 git remote set-url o ...

  10. 使用Babel和ES7创建JavaScript模块

    [编者按]本文主要介绍通过 ES7 与 Babel 建立 JavaScript 模块.文章系国内 ITOM 管理平台 OneAPM 工程师编译呈现,以下为正文. 去年,新版的JavaScript发布了 ...