小言_互联网的博客

【java加强】git加强篇(二)

425人阅读  评论(0)

新人入职开发步骤三(拉取他人代码)

使用场景说明

一般情况下,不同开发者开发的分支都是不同的,偶尔会遇到需要拉去代码的情况,拉取别人全部的代码,或者拉取某个文件的代码

使用

情景一

我们本地切换到dev3,在dev3分支上新增文件,然后用master分支去拉取dev3全部代码并合并,dev3新增和master信息如下截图


git pull origin dev3:master //pull命令是两个命令的合成,拉取合并,该命令会拉取dev3改动的代码,并合并master

情景二

再到dev3新增两个文件,这次我们只拉取一个文件,其他的不拉取,拉取别人代码前应该先pull代码分支,以防止冲突,新建文件如下:test3 test4,我们只拉取test3的代码

git checkout dev3 test3  //其实就是切换分支拿test3,可以看到目前分支还在master,test3也下来了,test4没下来,目的实现,这样可以在不拉取别人全部代码的情况下给别人要个工具类啥的
  • 查看下当前分支状态:
git log --oneline --graph --all

如图,我们可以很清晰的看到各个分支的提交状态,包括最新提交的信息,蓝色的HEAD是本地当前指向,它指向的是本地的master分支,因为当前的分支就是master,红色字体是远程的分支,附上一张当前分支在dev3的状态图,如下:

新人入职开发步骤四(冲突的解决)

使用场景说明

  • 有少部分人对git存些恐怖应该就是这里了吧,其实只要大胆的去做,不要怕冲突啦,前提就是不要回滚然后强制提交,回滚强制提交会丢失记录,那就没了,其他操作都可以留记录的,这里本地master解决冲突,在本地修改test1文件,同时在码云上也进行修改,然后本地拉取远程分支就会冲突了,两个不同的人修改同个文件就会发生冲突情况,如图
    远程*😗

    本地
  • 本地拉取远程代码
  • 最后的两行意思是:冲突(内容):test1中的合并冲突,自动合并失败;修复冲突,然后提交结果。
git diff  #查看提交后的改变包括冲突文件

  • 很明显,本地和远程的代码冲突了,其中绿色字体是本地新增的内容,红色字体是删掉的内容,不变的内容为灰色,而且可以看到是那个文件,当前是test1,该窗口是linux系统的操作,用vi查看该文件并解决冲突
  • 按下i就可以编辑了,当前我想以保留本地而不要远程的,作为一个后台程序员,linux不熟悉不行啊,所以有空多看看linux,这也是个新世界
  • 按wq保存,然后再提交一遍就行了

  • 该章节告一段落,再总结个三,然后再进行其他命令的总结还有干货就完了,冲突并不可怕,可怕的是你不想面对冲突,代码就在那,怎么玩都不会不见,回滚强提交除外

转载:https://blog.csdn.net/ruoyang759976/article/details/105940771
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场