git-rebase
git-rebase和marge的区别
- rebase :合并两个分支时,rebase会让commit 消失了,使分支数更简化
merge 还是两个分支,只不过在merge后这个点交汇 - rebase解决冲突是一个一个解决,如果有十个冲突,先解决第一个,然后用命令git add -u ,git rebase –continue,才出现下一个冲突
merge:冲突一次性出现,完全修改后在合并
git合并请求(git rebase)
本地两个分支 一个我的分支 test 一个主分支 master
现在我修改的部分要合并到 master 上,有两种方法:merge和rebase
rebase 一个两个分支 就各位了一个分支,test合并前所有的 patch也就是commit 消失了,分支数更简化
而merge 则还是两个分支,只不过在merge后这个点交汇
* rebase:
先从远端仓库pull一下,更新本地代码库:
git checkout master`
git pull
然后 开始和test分支rebase
git checkout test
git rebase master
这个时候就开始rebase 了,一般情况下rebase都是会有冲突的,rebase 和 merge的另一个区别是rebase 的冲突是一个一个解决,如果有十个冲突,先解决第一个,然后用命令
git add -u
git rebase –continue
继续后才会出现第二个冲突,直到所有冲突解决完,而merge 是所有的冲突都会显示出来。
另外如果rebase过程中,你想中途退出,恢复rebase前的代码则可以用命令
git rebase –abort
最后冲突全部解决,rebase成功!!
把本地的test 分支push 到远端test分支上然后再给远端的master分支pull request
- merge:
另一个将代码推送到它的本地git服务器
git push
我的操作:
在我的本地切换到它的分支
git checkout meien
然后拉取meien分支上面的代码:
git pull //现在已经将meien的代码拉取到我自己本地的git服务器了
现在将我本地的代码和我的git服务器上面的代码合并:
git merge meien //这样meien的代码就和我本地的代码合并了
将合并的代码推送到Github:
git push
git
commit:提交时,git用暂存区域的文件创建一个新的提交,并把此时的节点设为父节点。然后把当前分支指向新的提交节点。
checkout:从历史提交(或者暂存区域)中拷贝文件到工作目录,也可用于切换分支。
reset:把当前分支指向另一个位置,并且有选择的变动工作目录和索引。也用来在从历史仓库中复制文件到索引,而不动工作目录。
merge:把不同分支合并起来
git合并代码
要在自己的本地创建别人的分支:git checkout -b bie.ren
在别人的分支上拉别人远端的分支:git pull origin bie.ren
切换到自己的分支:git checkout -b yixue.yang
添加别人的代码到自己:git merge yixue.yang
切换到本地dev:git pull origin dev
切换到自己的分支:git cheackout yixue.yang
本地代码合并到dev: git merge dev
合并两个人的Dev并提交放到远端:git push origin dev
git把自己的代码从本地推向远端
git clone [email protected]复制的网址
cd 要跳转的文件夹
git checkout “我的分支”
git add .
git status
git commit -m’提示名’
git status
git push origin +分支名