得之我幸 失之我命

when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.

git 分支实战 2

突然就想不起来怎么把本地分支推送到远端了,后来才想起来,问题似乎出在往常远端分支名和本地分支名是一致的,而这次本地分支名取错了,远端分支名想拨乱反正,于是就产生了两个分支名不同的情况,而且是在公司的代码库,乱搞搞肯定是不行的了,那怎么办?

假设我现在有个分支

1
2
3
4
$ git checkout -b local_branch
$ git status # 星号(*)表示当前所在分支
* local_branch
master

推送本地分支,且本地分支名与远端分支名不同

1
$ git push origin local_branch:remote_branch

如果本地分支名和远端分支名是一致的,那就更简单了

1
$ git push origin test_branch

建立本地分支与远端分支的关联,首先切换到需要关联的本地分支

1
2
3
$ git branch -u origin/remote_branch
# or
$ git branch --set-upstream-to=origin/remote_branch

能建立关联,就能取消关联

1
$ git branch --unset-upstream local_branch

查看本地分支与远端分支的关联情况

1
2
3
$ git branch -vv
* local_branch 3fa38c8480 [origin/remote_branch] commit_msg_for_local_branch # 和远端分支关联的本地分支
test_branch 7b6fa081f8 commit_msg_for_test_branch # 未和远端分支关联的本地分支

人都能改名,更何况分支名呢,不过这只是修改本地的分支名

1
$ git branch -m old_name new_name

能创建分支,怎么能不会删除分支呢

1
2
3
4
$ git branch -D local_branch  # 删除未合并到 master 的本地分支
$ git branch -d local_branch # 删除已合并到 master 的本地分支
$ git push origin :remote_branch # 推送空分支到远程分支,相当于删除远程分支
$ git push origin --delete remote_branch # 明确的删除远程分支

be yourself, everyone else is already taken.