1. 分支代表最后三个commit(即HEAD, HEAD^和HEAD~2),前一个commit,也用HEAD~1

2. 查看一个文件的改动历史git log (--pretty=oneline) -p <filename>,可以显示每次的改动内容, pretty配置了只显示一行

3. 查看一个文件的两个历史版本的区别 git diff <commitid1> <commitid2> <file>

4. 查看一个文件的某一历史版本 git show <commitid>:<path to file>

5. 查看一个文件和上个版本的改动:git show <file>

6. 将文件从git管理中去掉:git rm --cached <file>

7. 回滚到某个版本:先git branch backup,在分支里面改git log,然后 git reset --hard <commitid>

8. 在remote新建分支:git push -u origin <your branch>, origin就是远程repo的意思。在local新的仓库先git fetch;git checkout origin/<your_branch>

9. 提交到remote的分支,方法一:git push origin HEAD:refs/heads/your_branch,方法二:git checkout --track -b your_branch origin/your_branch里面通过--track设定当前的branch是默认的,然后直接git push就可以了,如果要提交某个branch,方法是:git push origin <branch name>,比如git push origin master

10. "git add -A": stage all, "git add .": stage new and modified without deleted, "git add -u": stage modified and deleted, without new

11. 使用per repo的author,git config --local --add user.name XXX, git config --local --add user.email XXX

12. merge之后出现出错,git fetch origin取得orign的最新信息,git reset --hard origin/master重置到最新

13. git diff 只显示文件名 git diff --name-only SHA1 SHA2

14. github 拿到branch方法: 1. git clone 2. git fetch origin <branch name> 3. git checkout <branch name>

15. 分支要merge,假设Abranch上新的提交,B branch希望拿到,在B上执行 git merge A,就可以了

16. 修改author:git commit --amend --author "XXX <XXX@gmail.com>"

git的一些概念和技巧的更多相关文章

  1. 代码管理工具-Git基础介绍及常用技巧

    目录 Git起源 基本概念 Branch.HEAD和Commit tree Git分支 git merge 和 git rebase 的区别和抉择 与远程仓库的交互 关于一些实际开发场景的问题和解决方 ...

  2. git log 常用命令及技巧

    git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...

  3. SVN迁移到Git的过程(+ 一些技巧)

    SVN迁移到Git的过程(+ 一些技巧) 李顺利 Key Words SVN,Git,Clone,Conversion,Tips,VCS,Pro Git 关于在VCS中SVN和Git之间的迁移(Clo ...

  4. git 利用分支概念实现一个仓库管理两个项目

    需求描述:开发了一个网站,上线之际,突然另一个客户说也想要个一样的网站,但网站的logo和内部展示图片需要替换一下,也就是说大部分的后台业务逻辑代码都是一致的,以后升级时功能也要保持一致:刚开始想反正 ...

  5. git的几个小技巧

    git的几个小技巧 分享git的几个小技巧,后面会根据使用补充.目前包括git撤销本地修改.git回退到前n个版本.git多用户提交冲突解决.git 命令简化.欢迎大家补充^_* 1.git撤销本地修 ...

  6. Git 入门:概念、原理、使用

    出处: git入门:概念.原理.使用 git和Github 概念 Git --- 版本控制工具(命令). git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.git ...

  7. SVN迁移到Git的过程(+ 一些技巧

    关于在VCS中SVN和Git之间的迁移(Clone)这个部分网上已经有大批的文章介绍,而且都非常不错,能够满足我们的常见的需求,这里介绍的是我自己整理的一些技巧和使用中出现的一些问题和疑问.阅读本篇文 ...

  8. Git的搭建和使用技巧完整精华版

    [Git使用技巧] 1.把一个已经存在于版本库中的文件加入忽略提交文件(.gitignore)中,需要如下代码: git rm --cached [文件路径] 例如: git rm --cached  ...

  9. GIT入门笔记(1)- Git的基本概念

    一.概念和定义 1.git是什么 许多人习惯用复制整个项目目录的方式来保存不同的项目版本,或许还会改名加上备份时间以示区别.这么做唯一的好处就是简单.不过坏处也不少:有时候会混淆所在的工作目录,一旦弄 ...

随机推荐

  1. Linux操作:

    1.在Linux中第一个字符代表这个文件是目录.文件或链接文件等等. 当为[ d ]则是目录,当为[ - ]则是文件,若是[ l ]则表示为链接文档(link file),若是[ b ]则表示为装置文 ...

  2. isKindOfClass:和isMemberOfClass:-b

    isKindOfClass: Returns a Boolean value that indicates whether the receiver is an instance of given c ...

  3. iOS播放短的音效

    在IOS中,有的时候需要播放很简短的声音文件,比如系统声音等,我们需要使用到下面的方式来播放声音: // 一.引入头文件 #import <AudioToolbox/AudioToolbox.h ...

  4. eclipse问题解决(link方式安装插件失败)

    使用 link 方式,离线安装 eclipse 插件时,经常失败. 一.常见的失败情况 link方式配好后,eclipse 启动,没有弹出任何信息. 查看当前工作空间——.metadata——.log ...

  5. A Statistical View of Deep Learning (III): Memory and Kernels

    A Statistical View of Deep Learning (III): Memory and Kernels Memory, the ways in which we remember ...

  6. Promise 让异步更优

    每个异步方法都返回一个Promise 更优雅. then方法 每一个Promise  都有一个叫then 的方法, 接受一对callback    被解决时调用,resolve, 被拒绝   reje ...

  7. 牢记负载均衡与HA,高性能是不同的方案。一般的CLUSTER只能实现其中的一种,而ORACLE的RAC可以有两种。

    F5/LVS<—Haproxy<—Squid/Varnish<—AppServer. 现在网站发展的趋势对网络负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术: 第一 ...

  8. 利用js制作html table分页示例(js实现分页)

    有时候table的列数太长,不利于使用者查询,所以利用JS做了一个table的分页,以下为相关代码 一.JS代码 <script type="text/javascript" ...

  9. 【HDOJ】2333 Assemble

    二分+贪心策略.其中注释处很重要. #include <iostream> #include <cstdio> #include <cstring> #includ ...

  10. 用c写99乘法表

    int main(int argc,char **argv){ int a; for(a=1;a<=9;a++){ int b; for(b=1;b<=a;b++){ printf(&qu ...