1.查看本地分支
git branch
2.查看本地和远程分支
git branch -a :红色为远程分支
3.删除本地分支: git branch -d [branchname]
删除远程分支:
git push origin --delete dev
4.创建分支修改代码过程
1.以当前分支的代码创建分支,并切换到新分支
git checkout -b xxx
2.修改代码
3.提交本地修改
git commit -a -m "xxx":-a 相当于提交前的add
将本地新建分支提交到远程(新建分支要保留,用来合并到不同分支(测试或者生产))
4.切换到要提交的分支
git checkout developer
5.拉取最新的developer代码
git pull
6.合并分支
git merge 新分支名
取消merge
git checkout developer
git reflog
git reset --hard 之前的版本号
7.git push origin developer
8.idea中查看修改历史
9.合并master分支时需要在当前分支git pull origin master 合并别人提交的代码
5.不同分支环境不同,要分别checkout新分支 修改提交
6.要记录修改
7.切换分支前要检测当前的工作分支的
工作目录和暂存区里那些还没有被提交的修改,它可能会和你即将检出的分支产生冲突从而阻止 Git 切换到该分支,提交之后再切换分支
8.合并分支是fast-forward快进,将指针指向要合并的分支的提交后的位置。(因为检出分支时,新分支指向就分支)
9.合并分支push之后要删除没用的分支,上生产前保留分支,上生产后删除
10.分支新建是在本地,远程没有,因此不能push。
11.当远程的分支已经改变的情况下
可以使用 git merge master
命令将 master
分支合并入 iss53
分支
也可以等到 iss53
分支完成其使命,再将其合并回 master
分支。
- git会自动选择公共父节点,然后将三个节点进行合并,可能有冲突,显示conflict
解决冲突
git status,显示没有合并的代码 unmerged
<<<<<<< HEAD:index.html
<div id="footer">contact : email.support@github.com</div>
=======
<div id="footer">
please contact us at support@github.com
</div>
>>>>>>> iss53:index.html
dead指向要合并到的分支,下面是自己的代码
解决完成之后,git add表示冲突已经解决
之后进行commit 和push
12.
删除 untracked files
git clean -f
连 untracked 的目录也一起删掉
git clean -fd
13.撤销未暂存的代码
git check .
14.自己分支合并远程的分支
git pull origin master
15.git branch -a 查看所有分支,远程分支删除后 仍然会看到
git remote show origin 查看分支状态,stale:表示已经删除的分支
git remote prune origin 整理分支
git branch 查看本地分支
16.代码回复 rebase、本地复制master,为oldmaster ,oldmaster rebase 保留别人代码,改名提交更新远程master,去掉远程的自己代码,本地master rebase 去掉别人代码 保留自己代码。
既能保留别人代码,又能保留自己代码
reset forcepush (丢代码)