这里随机记录git的用户和技巧,供参考和查阅。
cherry one commit
假设git项目有两个分支master和dev,把dev的一个commit使用到master分支的方法:
git checkout dev
切换到dev分支git log
得到 commit id:d251089f579ce7b85ffa3d3496408978dd67cb8cgit checkout master
切换到master分支git cherry-pick d251089f579ce7b85ffa3d3496408978dd67cb8c
使用dev的某个commitgit push
同步修改
如果不切换分支就直接在master中查看dev分支的loggit log dev
添加一个分支的文件到另一个分支
假设git项目有两个分支master和dev,把dev的一个文件添加到master分支的方法:
git checkout master
git checkout dev <file-path>
,自动new file。git commit -m <message>
切换git 服务器
有时候,本地某个仓库可能很久没有更新了。假如git server很慢,而内网有一个仓库已经跟git server同步了。这个时候,为了加快同步速度,可以将内网的git仓库作为本地仓库的server。方法是:
- git remote add <name> <url>
- git fetch <name>
- git checkout master
- git pull –rebase
这里关键还是git fetch的运用。
获得最新的更新
有时候,我们处在一个分支上,并不知道最近更新了什么,特别一个你很久没有跟进的项目。怎么办?
- git log –all 得到最新一个commit id
- git branch -r –contains <commit id> 得到属于它的branch
- git checkout <branch>