Morrison.J Android Dev Engineer

Git随用随记

2017-01-19
Jasper

这里随机记录git的用户和技巧,供参考和查阅。

cherry one commit

假设git项目有两个分支master和dev,把dev的一个commit使用到master分支的方法:

  1. git checkout dev
    切换到dev分支
  2. git log
    得到 commit id:d251089f579ce7b85ffa3d3496408978dd67cb8c
  3. git checkout master
    切换到master分支
  4. git cherry-pick d251089f579ce7b85ffa3d3496408978dd67cb8c
    使用dev的某个commit
  5. git push
    同步修改

如果不切换分支就直接在master中查看dev分支的loggit log dev

添加一个分支的文件到另一个分支

假设git项目有两个分支master和dev,把dev的一个文件添加到master分支的方法:

  1. git checkout master
  2. git checkout dev <file-path>,自动new file。
  3. git commit -m <message>

切换git 服务器

有时候,本地某个仓库可能很久没有更新了。假如git server很慢,而内网有一个仓库已经跟git server同步了。这个时候,为了加快同步速度,可以将内网的git仓库作为本地仓库的server。方法是:

  1. git remote add <name> <url>
  2. git fetch <name>
  3. git checkout master
  4. git pull –rebase

这里关键还是git fetch的运用。

获得最新的更新

有时候,我们处在一个分支上,并不知道最近更新了什么,特别一个你很久没有跟进的项目。怎么办?

  1. git log –all 得到最新一个commit id
  2. git branch -r –contains <commit id> 得到属于它的branch
  3. git checkout <branch>

Comments

Content