一,cherry-pick 流程:
git branch 查看分支
git branch -a 查看所有分支
git checkout branch1 切换到branch1
git cherry -v branch1 branch2 。列出 branch2上有 branch1上没有的
git cherry-pick commit 将commit取到当前分支上。
二,git rebase 流程:
git rebase branch1;
出现冲突
git add XXX.JAVA
git rebase --continue
三,git merge 流程:
git checkout branch1
git merge --log branch2
四,
git config -l 查看本地分支所属远程分支
git log -p branch1..branch2 > xxx.diff
五,
git diff commit2..commit1 > 1.diff
git apply 1.diff
- 使用流程: (使用git help帮助文档)
- git fetch(pull, clone) ** 从远程git 服务器获取代码, 会建立一个local的git库
- 在 一个干净的git库下, coding... coding....coding....
- git status ** 查看修改状态, 会列出所有的修改的文件
- git diff <filename> **查看修改的代码
- git add filename1 filename2 ........ ** 将修改的代码保存在cache里, 在.git/index
- git commit **提交到本地的git库里, 会自动生成一个sha1号
- git push ** 提交代码到远程git库里
- 其他的一些常用的git 命令:
- git reset ** 回退所有修改到某个点, 不删除本地未提交的修改(读,写 cache里的东西)
- git reset -- myfile.java ** 回退某个文件
- git reset --hard ** 回退所有cache里的文件, 并删除本地未提交的修改
- git checkout <filename> ** 将修改的代码回退到未修改之前
- git log **列出所有的commit历史记录,
- git log v2.0..v1.0 **列出所有在v1.0 但不在v2.0里的所有commits
- gitk **比较好用的一款git图形界面
- git cherry-pick sha1 ** 将sha1的那次提交拿到本地分支来 (多次的cherry-pick 可能会产生冲突, 可根据提示解决冲突后, 继续cherry-pick)
- git rebase branch_name ** 和cherry-pick 类似, 只是将branch_name的分支一次性拿到本地分支