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

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

git fetch origin && git reset –hard origin/master

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

git branch -a
git branch -r

3. 强制更新远程分支

git push origin master -f

4. 回滚一个 merge

git revert -m  xxxx

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

git rebase –interactive ID^
将需要修改的记录的 pick 改成 edit
执行更改
git commit –all –amend
git rebase –continue

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

修改 ~/.ssh/config
Host bitbucket.org
HostName bitbucket.org
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
User git Host bitbucket.org-key2
HostName bitbucket.org
IdentityFile ~/.ssh/key2_id_rsa
User git
修改 .git/config
[remote “origin”]
url = git@bitbucket.org-key2:XXXX/yyyy.git
fetch = +refs/heads/*:refs/remotes/origin/*

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

git remote rename origin upstream
git remote add origin URL_TO_GITHUB_REPO
git push origin master
git pull upstream master && git push origin master

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

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. 使用springcloud gateway搭建网关(分流,限流,熔断)

    Spring Cloud Gateway Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 ...

  2. php 多次导入文件导致 Cannot redeclare class

    定义了类A b.php中导入了A c.php中导入了b.php c.php中导入A会报错:

  3. Linux学习3-Linux系统安装CentOS6.5

    1.启动虚拟机(虚拟机的安装参见Linux学习1-创建虚拟机) 本此安装系统:CentOS6.5         2.启动客户端后迅速按下F2键进入Bios设置,注意:启动后需鼠标点击虚拟机的屏幕并迅 ...

  4. linux 上传下载 以及SCP命令

    1. scp 用法 scp就是用来在服务器和本地之间传文件的linux命令还有其他的方法,比如装ftp服务器 copy 本地的档案到远程的机器上 scp /Desktop/test.conf 用户名@ ...

  5. 网络编程: 基于UDP协议的socket

    udp是无链接的,启动服务之后可以直接接受消息,不需要提前建立链接 UDP协议的通信优势: 允许一个服务器同时和多个客户端通信, TCP不行 服务端 import socket sk = socket ...

  6. sublime text2 注册码

    近终于找到  sublime Text2 升级到 2.0.2 build 2221 64位 的破破解 输入注册码就成了 ----- BEGIN LICENSE ----- Andrew Weber S ...

  7. Drupal8学习之路--官网文档碎碎记--主题篇

    主要记录一些琐碎的知识点. 1.“In Drupal 8 drupal_add_css(), drupal_add_js() and drupal_add_library()were removed ...

  8. 使用tour_editor.html设置视角和添加热点

    控制初始视角 双击打开vtour文件夹中的tour_editor.html.(请先运行测试服务器,然后在浏览器地址栏中加上tour_editor.html,例如 http://localhost:52 ...

  9. 如何从 GitHub 上下载单个文件夹

    DownGit 好用记得回来点赞(建议***)

  10. Application Context的设计

    基本上每一个应用程序都会有一个自己的Application,并让它继承自系统的Application类,然后在自己的Application类中去封装一些通用的操作.其实这并不是Google所推荐的一种 ...