git学习-branch

持续更新中
1.branch
重命名分支
重新命名本地分支
git branch -m oldbranch newbranch #重命名分支
git branch -M oldbranch newbranch#如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名

重命名远程分支:
在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。
此处不再赘述 参考文章https://blog.zengrong.net/post/delete_git_remote_brahch/

查看分支
git branch #查看本地分支
git branch -a #查看远程分支及本地分支
git branch -r #查看远程分支

查看分支关联(远程与本地)
查看当前详细分支信息(可看到当前分支与对应的远程追踪分支):
git branch -vv

查看分支关联及所有分支
git branch -a -vv

查看当前远程仓库信息
git remote -vv

关联本地分支与仓库分支
方法一:(已经创建了本地分支)
git branch --set-upstream-to=origin/remote_branch your_branch

//等同于
git branch -u origin/remote_branch your_branch
方法二:(本地分支不存在,本地名称与远程名称不同)
git branch new_branch origin/remote_branch
// 或者
git fetch origin remote_branch:new_branch
// 上面👆这两种方法都不会切换当前分支;
// 如果想要创建分支的同时,切换到新分支
git checkout -b new_branch origin/remote_branch
方法三:(如果本地有远程分支 origin/name, 想拉取一个本地分支)
// git默认将创建一个同名本地分支,并将本地分支和远程仓库关联
git checkout remote_branch

远程分支不存在
// 如果远程仓库不存在new_remote_branch,将创建一个该分支,并关联local_branch
git push origin local_branch:new_remote_branch

切换关联远程仓库
// 删除关联仓库
git remote rm origin
//删除本地指定的远程地址
git remote remove origin # 删掉原来git源
// 再关联新的仓库(必须与上面命令联合使用要不了会失效)
git remote add origin XXXXXXXXXXXXX

这个时候

这个木有了需要重新指向head分支
真实案例:
git commit -m “Change repo.” # 先把所有为保存的修改打包为一个commit
git remote remove origin # 删掉原来git源
git remote add origin [YOUR NEW .GIT URL] # 将新源地址写入本地版本库配置文件
git push -u origin master # 提交所有代码
当代码库远程迁移后,修改本地代码关联的远程地址
git remote set-url origin http://jcode.cbpmgt.com/git/.git/
例子:https://blog.csdn.net/m0_37034294/article/details/79986198
修改本地代码关联的远程地址
1.列出远程库的名字
git remote
2.查看远程库详细的url地址名和对应的别名
git remote -v XXX
3.修改对应远程库地址
git remote set-url origin-name(仓库名) origin-url(链接地址)
4.添加远程库地址
git remote add name url

切换git的HEAD分支(原点)
git remote set-head origin some_branch

抓取远程的一个分支到本地
git fetch <remote_name> <branch_name> // 抓取远程的一个分支到本地

git 查看远程仓库,以及与本地仓库的关系:
git remote show origin

本地分支的添加
git branch 分支名称 //添加分支
git checkout -b 分支名称 //添加并切换分支

添加远程分支
git branch aa #本地添加新分支(如果已经有则不需要,线上不可有)
git push origin aa #会将本地分支同步到线上如果线上没有将重新创建

分支删除
删除本地分支
git branch -d 分支名称 #删除分支
git branch -D 分支名称 #强制删除未合并分支

删除远程分支
git branch -d -r 远程分支名称 #删除远程分支
但是有时候 它无法删除 会提示not found
在Git v1.7.0 之后,可以使用这种语法删除远程分支:
$ git push origin --delete

删除tag这么用:
git push origin --delete tag

否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:
git push origin :

这是删除tag的方法,推送一个空tag到远程tag:
git tag -d
git push origin :refs/tags/

两种语法作用完全相同。
此处文章-》https://blog.zengrong.net/post/delete_git_remote_brahch/

查看当前git的配置
cat .git/config

-------------------------------------------------------网上经验----------------------------------------------------------
删除不存在对应远程分支的本地分支
假设这样一种情况:
我创建了本地分支b1并pull到远程分支 origin/b1;
其他人在本地使用fetch或pull创建了本地的b1分支;
我删除了 origin/b1 远程分支;
其他人再次执行fetch或者pull并不会删除这个他们本地的 b1 分支,运行 git branch -a 也不能看出这个branch被删除了,如何处理?
使用下面的代码查看b1的状态:
$ git remote show origin

  • remote origin
    Fetch URL: git@github.com:xxx/xxx.git
    Push URL: git@github.com:xxx/xxx.git
    HEAD branch: master
    Remote branches:
    master tracked
    refs/remotes/origin/b1 stale (use ‘git remote prune’ to remove)
    Local branch configured for ‘git pull’:
    master merges with remote master
    Local ref configured for ‘git push’:
    master pushes to master (up to date)

这时候能够看到b1是stale的,使用 git remote prune origin 可以将其从本地版本库中去除。
更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支:
git fetch -p
git pull详解
git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并。
一句话总结git pull和git fetch的区别:
git pull = git fetch + git merge
git fetch不会进行合并执行后需要手动执行git merge合并分支,而git pull拉取远程分之后直接与本地分支进行合并。更准确地说,git pull使用给定的参数运行git fetch,并调用git merge将检索到的分支头合并到当前分支中。
基本用法:
git pull <远程主机名> <远程分支名>:<本地分支名>
例如执行下面语句:
git pull origin master:brantest
将远程主机origin的master分支拉取过来,与本地的brantest分支合并。
后面的冒号可以省略:
git pull origin master
表示将远程origin主机的master分支拉取过来和本地的当前分支进行合并。
上面的pull操作用fetch表示为:
git fetch origin master:brantest
git merge brantest
相比起来git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。

Helped me -url:=====
https://blog.csdn.net/m0_37034294/article/details/79986198
https://blog.zengrong.net/post/delete_git_remote_brahch/
https://www.cnblogs.com/zeo-to-one/p/8367801.html
https://www.cnblogs.com/taohuaya/p/10761799.html
/*one good for git/
https://www.cnblogs.com/miracle77hp/articles/11163532.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值