git实战——上库必备操作

前言:

最近一直在搞开发,一个大项目少不了多人开发,主流团队协作工具git更是程序员多人开发必备技能,所以本文来介绍一下在企业级实战中git上库操作。

具体问题具体操作,还有一些更细的操作,可以上Stack Overflow看,问题一般都可以解决
总共流程

建立分支(初始)

1.初始化

git init

2.连接远程分支

a.用clone连接远程,使用git管理代码版本的时候,本地分支默认与远程同名分支建立追踪关系。文章开始也提到git clone 命令默认将整个远程版本库克隆到本地,但是git clone -b <分支名称>命令可以将指定的某一个远程分支拉取到我们本地,而且拉取的本地分支自动和远程同名分支建立追踪关系,它不会将新创建的HEAD指向克隆仓库中HEAD指向的maser主分支,而是指向我们刚拉取下来的分支

$ git clone -b <dev开发分支> https://github.com/521/springboot-rabbitmq.git

会有以下反应:

$ git branch -a
dev开发分支
remotes/origin/HEAD -> origin/master
remotes/origin/dev开发分支
remotes/origin/master

b.checkout 从远程仓库分支中切出一条出来, git checkout -b 命令获取.获取远程仓库某一个指定分支的方法,都是将远程仓库克隆到本地仓库,然后执行git checkout -b <本地分支名称> origin/<远程分支名称>,具体步骤如下:

进入某个文件夹执行克隆远程仓库的git

$ git clone https://github.com/521/springboot-rabbitmq.git

然后可以看到效果

git checkout -b <本地分支> <远程分支>

在这里插入图片描述
然后直接拉代码就可以了,好像不需要加什么分支后缀

git pull.

同步分支

情景1:同步别人新增到远程的分支

1.git branch查看一下本地分支,再git branch -a查看一下远程分支,对比下,远程存在哪些本地没有的新分支.
2.将某个远程主机的更新,全部取回本地:git fetch
3.再次查看远程分支:git branch -a 发现远程的分支已经可以看见了
4.拉取远程分支到本地:git checkout -b 远程分支名

情景2:本地删除了分支,远程也想删除
2.1:本地想要删除某个分支,远程仓库的这个分支也要删掉怎么办?

a.使用git branch -d 分支名来删除本地分支。
b.使用git push origin -d 分支名直接来删除远程分支。在次使用git branch -a,发现分支已经不存在了。
or
a.使用git branch -d 分支名来删除本地分支。
b.最简单的解决办法就是直接到gitlab/github进行删除.

2.2:只把远程的删除掉怎么办?

a.使用git push origin -d 分支名直接来删除远程分支。此时删除的只是远程的分支,本地仍然存在
or
a.直接到gitlab/github进行删除.

2.3:远程删除了分支,本地也想删除

eg:直接到gitlab/github删除了某个分支,我在本地使用git branch -a查看远程分支,依然存在并且可以切换使用。我本地也想把远程分支记录删除怎么办?

1.git branch -a查看远程分支,红色的是本地远程远程分支记录。

2.执行下面命令查看远程仓库分支和本地仓库的远程分支记录的对应关系:

git remote show origin

3.会看到:

refs/remotes/origin/远程仓库已经删除的分支名 stale (use ‘git remote prune’ to remove)

其中:

Local refs configured for ‘git push’: 命令下面的分支是本地仓库的远程分支记录中仍存在的分支,但远程仓库已经不存在。

4.输入git remote prune origin来删除远程仓库已经删除过的分支

5.验证 git branch -a

此时可以看到本地远程分支记录已经和远程仓库保持一致了。

git同步远程分支
https://blog.51cto.com/u_15328720/3382947

实战操作(上库)

1.加到暂存区里

git add .

2.commit到本地仓库

git commit -m “commit”

3.pull 代码下来,进行解决冲突。(亲测有效)

https://blog.csdn.net/asty9000/article/details/83591142
https://juejin.cn/post/7040996773036310565

1.先将本地修改存储起来

git stash
git stash list 查看刚刚备份保存的内容

使用git stash命令,这样本地的所有修改就都被暂时存储起来 。其中stash@{0}就是刚才保存的标记。后续可以通过此标记访问。

2.再次拉取代码

git pull

3.还原暂存的内容

git stash pop stash@{0}

4.解决冲突

在存在冲突的文件中,Updated upstream 和=====之间的内容为拉取下来的代码,=====和stashed changes之间的内容就为本地修改的代码。解决完成之后,就可以正常的提交了。

5.删除stash

使用git stash drop stash@{0}命令,如果不加stash编号,默认的就是删除最新的,即编号为0的。或者git stash clear命令,清除所有stash。

4.rebase解决commit合并

  • git rebase -i 需要合并的版本往下一个版本号

    • eg:git rebase -i 3a4226b
  • 修改rabase操作

在这里插入图片描述

  • 然后保存退出,Git会压缩提交历史,如果有冲突,需要修改,修改的时候要注意,保留最新的历史,不然我们的修改就丢弃了。修改以后要记得敲下面的命令:

git add .

git rebase --continue
push上去

5.push

提交本地next到远程next:git pull origin next:next (”:“前面的是本地分支的名字,”:"后面的是远程分支的名字)

  • eg:git push -f origin 20722/6.8.0/upgrade_settings:20722/6.8.0/upgrade_settings
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值