-
本地存在冲突的情况下也是可以提交到远程的。并且是将冲突的代码都提交到远程仓库。
-
分支的合并,一定是在 主分支上进行的。
只能在主分支合并其它分支。
需要两步:
1) 切换到主分支
2) 使用git merge 分支名 进行合并
-
git stash (也可以git stash save ‘描述’,可方便查看)
git stash 把工作区的修改提交到栈区,目的是保存工作区的修改;没有提交(commit)的内容都会保存至堆栈中。
如果在错误的分支上开发了,git stash 可以将在a分支上开发的代码暂存到堆栈区,切换到b分支时,再将堆栈区的内容拿出来。
git stash 会将本地代码还原到上次提交的时候。
-
git stash pop 恢复堆栈区中的第一个缓存项,并且删除该项;如果要应用并且删除其他stash,git stash pop stash@{3}。
如果在git stash pop 恢复操作之前进行了本地修改操作,将会提示需要保存修改才能恢复。
-
当在a分支开发时,将代码commit后并未push,接着切换到b分支进行修改并且提交push,这时切换回a分支还是在a分支时commit的代码。
-
拉取远程分支并且切换到该分支
五种方式:
(1)git checkout -b 本地分支名 origin/远程分支名
(2)git checkout --track origin/远程分支名 (这种写法是上面的简化版,效果完全一样)
(3)git checkout -t origin/远程分支名(这种写法是2的简化版)
(4)fetch指定的一个分支:git fetch [repo] [remote_branch_name]:[local_branch_name]
git checkout [local_branch_name]
(第一行的:[local_branch_name]如果不写,则本地新建的分支名默认与远程分支名相同)(5)git fetch 获取远程所有分支
git branch -r 可以看到所有远程分支,假设有一个分支叫origin/mybranch
git checkout mybranch即可,会在本地新建一个同名分支,并与该远程分支关联 -
上传远程仓库时报错,提交不上去:
git pull origin master --allow-unrelated-histories
–allow-unrelated-histories 强行合并,基本每个文件会有冲突,需要去手动解决。
保存当前工作域,更新远程资源,合并保存的本地工作域。
git stash
git pull
git stash pop
git status .
git add .
git commit -m “”
git push