git分支问题 查看、创建、关联、删除本地/远程分支
Git-查看远程分支、本地分支、创建分支
1. 查看本地分支
$ git branch
* br-2.1.2.2
master
2. 查看远程分支
$ git branch -r
origin/HEAD -> origin/master
origin/feature/IOS_visualtrack
origin/feature/android_visualtrack
origin/master
3. 查看所有分支
$ git branch -a
* br-2.1.2.2
master
remotes/origin/HEAD -> origin/master
remotes/origin/br-2.1.2.1
remotes/origin/br-2.1.2.2
remotes/origin/br-2.1.3
remotes/origin/master
4. 本地创建新分支(new-branch为新分支名
)
$ git checkout -b new-branch
查看一下现在的分支状态:
$ git branch * new-branch master release
星号(*)表示当前所在分支。现在的状态是成功创建的新的分支并且已经切换到新分支上。
5. 把新建的本地分支push到远程服务器,远程分支与本地分支同名(当然可以随意起名):
这里以 new-branch 为例
$ git push origin 本地分支名:远程分支名
$ git push origin new-branch:new-branch
使用git branch -a
查看所有分支,会看到 remotes/origin/new-branch
这个远程分支,说明新建远程分支成功。
6. 讲本地分支与远程关联
git branch --set-upstream-to=origin/remote_branch your_branch
============================
=> remote_branch 远程分支名
=> your_branch 本地分支名
============================
eg:
git branch --set-upstream-to=origin/dev dev
把本地dev分支和远程dev分支相关联。
$ git push origin :new-branch 或者 $ git push origin --delete new-branch
这两种方式都可以删除指定的远程分支
8. 删除本地分支
$ git branch -D new-branch
git commit -m 注释可以通过单引号来换行,比如:
$ git commit -m ' > 1.aaaaa > 2.bbbb > ' [master b25154b] 1.aaaaa 2.bbbb 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ss.txt
10 github远程建了分支,本地看不到的问题 => $ git pull
原因:Git branch -a 查看的是本地仓库的所有分支 远程新建的没有同步前 就是看不到
解决:$git checkout master //首先切到master分支
$git pull //同步下master 或者 git fetch --all
$git branch -a //查看所有本地查库分支
然后你会发现本地仓库的分支是远程最新的所有分支了
11 git已经删除了远程分支,本地仍然能看到
- 使用 git branch -a 命令可以查看所有本地分支和远程分支,发现很多在远程仓库已经删除的分支在本地依然可以看到。
-
使用命令 git remote show origin,可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。
-
此时我们可以看到哪些远程仓库已经不存在的分支,根据提示,使用 git remote prune origin 命令:
这样就能成功在本地删除远程不存在的分支。
12 撤回操作:
撤销 git add .
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了 git reset HEAD XXX/XXX/XXX.js 就是对某个文件进行撤销了
撤销 git commit -m '本次修改说明'
git reset --soft HEAD^ 这样就成功的撤销了你的commit 注意,仅仅是撤回commit操作,您写的代码仍然保留。 说一下个人理解: HEAD^的意思是上一个版本,也可以写成HEAD~1 如果你进行了2次commit,想都撤回,可以使用HEAD~2 至于这几个参数: --mixed 意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作 这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。 --soft 不删除工作空间改动代码,撤销commit,不撤销git add . --hard 删除工作空间改动代码,撤销commit,撤销git add . 注意完成这个操作后,就恢复到了上一次的commit状态。 顺便说一下,如果commit注释写错了,只是想改一下注释,只需要: git commit --amend 此时会进入默认vim编辑器,修改注释完毕后保存就好了。
13 平时工作代码应该注意(分支过多的情况)
拉取代码应该:git pull origin you_branch_name
合并完成解决冲突后提交代码:git push origin you_branch_name
14 将本地项目推送到远端仓库
=> cd youProject => git init => $ git remote add origin gitUrl地址 =>$ git push -u origin master -f note:这里如果报错 根据提示在后边添加 -f 首次提交需在 origin 前边添加 -u
15 TODO