提交方法
1、克隆代码 git clone -b dev<romote_path> (以dev分支为例)
Cd 到项目文件夹内
(克隆下来代码后,首先设置自动生成changeId:
设置好之后以后每次commit都会自动生成changeId。)
2、新建本地分支 git branch local
3、切换至本地分支 git checkout local
4、在本地分支上开发
5、本地commit
git add . (或者 git add –all 防止有删除的东西为提交)
git commit -m "yourcomment" [imp] [mod] [fix]
6、切换至本地主分支(不是本地local分支)pull远程代码
git checkout dev
git pull
7、切换至本地分支,rebase到本地主分支
git checkout local
git rebase dev
如有冲突:
打开IDE,解决冲突
git add .
git rebase --continue
8、push代码
git push origin HEAD:refs/for/dev
9、提交未通过,重新提交
git commit –amend
出现另一个界面后按Esc建 打代码“:wq”回车,返回
10、查看提交日志
git log
打patch(例):
git format-patch HEAD^
git apply ../p1.patch
http://www.open-open.com/lib/view/open1400459919009.html
合并两次提交
假设要合并最后的2个提交,可以按如下命令进行:
1. git rebase –i HEAD~2
使用该命令,你会进入一个交互式的界面,显示了最后两次提交,并且询问你要压缩哪些。
2.将第二个pick修改为squash或者s,然后输入":wq”退出。
3.这时git会自动第二个提交合并到第一个中去。并提示输入新的message(就是我们常说的comments),如下
4.编辑输入新的message,然后输入":wq"退出
5.此时本地的(HEAD中)最后两次提交已经被合并为一个。git log可以查看。
6.如果需要提交到远端,运行git push --force origin master即可。
修改后重新提交
git status
git add . (或者 git add –all 防止有删除的东西为提交)
git commit –amend
git pull –-rebase origin dev
git push origin HEAD:refs/for/dev
gitk查看代码
git rebase --skip
git rebase –abort//放弃合并
git reset –hard HEAD~//放弃当前提交
恢复某个误操作
git reflog
git reset --hard 98abc5a(某个操作的id)
分支提交
Git log 查看commit Id 按q退出
Git checkout dev5.4.0 切换到分支
Git cherry-pick (commit Id) 将提交转至分支
Gitk 查看提交内容
Git push origin HEAD:refs/for/dev5.4.0 提交
git branch -d branchName 删除分支
http://www.open-open.com/lib/view/open1400459919009.html
d122385cdd4362b70242435c76f0c704e449bfed
创建远程分支
git push origin new_branch
合并远程分支
git checkout test
git pull
git checkout dev
git merge test
git add --all
git commit
git push origin HEAD: dev
强制向远程推送代码(用于代码回滚)
git push –f
在分支中cherry-pick dev的代码
在提交的download中,找到cherry-pick命令如:
Git reset –soft[changeId]
然后重新提交
git status
git pull
修改后再提交 git commit –amend
重置 git reset HEAD~
看所有分支
git branch --all
只有白色和绿色是你的,红色都是远程的
git reset head~