fork项目后与原项目进行同步
首先clone自己
git clone https://github.com/xx.git
添加远程仓库
git remote add origin https://github.com/xx.git
git fetch origin master
git merge origin master
如果有冲突则需要手动解决冲突,
git commit -m "merge from origin master "
git push -u origin master
查看本地仓库
git remote -v
git branch -a
通过这两个命令就可以将我们的修改发送到我们的fork主页上去,但是,这个时候项目的开发者还不知道我们的修改,通过下面的步骤可以通知开发者。
发送pull request给主开发者
代码目录左上方有如图所示的图表,点击绿色的图标,然后就可以比较你的版本和源中代码的差别,然后就可以选择发送一个Pull request给主开发者,添加修改的原因描述。然后就等待主开发者去merge了。
当然好多项目在gitlab上,然后就可以选择发送一个Pull request给主开发者。如果一个公司的项目,多人协助。一般是有有权限可以自己提交,提交前必须先同步源仓库,同步操作如上。然后
git push origin master
合并代码
A分支合并到B分支:
切换到B分支
git checkout B
git merge A
如果有冲突,这时候会报错。去解决冲突文件,然后重新添加
git add .
git merge --continue
rebase
A分支rebase到B分支:
切换到A分支
git checkout A
git rebase B
如果有冲突,这时候会报错。去解决冲突文件,然后重新添加
git add .
git rebase --continue
提交后在原来提交的commit基础上改文件,不增加新的commit
多用于提交后发现小错误,改正后归并到上次提交。
提交后修改文件
git add .
git commit --amend
这样就不新增commit。
以前的提交更改,不增加新的commit
git rebase -i HEAD~6
6代表往前的第六次提交
修改edit
修改文件
git add .
git commit --amend
合并冲突
git rebase --continue