git之工作中实际应用篇(非常适合刚到公司上班但是git不太熟又不好意思问同事的友友)

前言

此篇用于记录笔者在工作中用到git遇到的问题及大部分的操作。

区别于理论,这篇更具针对性,掌握这些,基本的面试及工作足以应对。

之前还写过一篇理论篇,是最基础的一些知识,供参考:

git保姆级教程(概述、理论、指令、创建及代码初始化完整步骤、分支与冲突、遇到的问题)

当你刚到一个公司

刚到一个公司,我们需要拉取代码,这个时候,需要用到克隆。

git clone xxx

在远程仓库复制url,就可以克隆项目。但只是原封不动的把代码拿了下来。一般拿到的都是该项目的主分支master。

想要看到当前分支,我们可以用到:

git branch

看到自己所在分支,加入我们要拉取最新分支,有多种途径。一般情况下,我们需要先建立一个本地分支,再拉取远程分支。

有一步到位的做法:

扫描二维码关注公众号,回复: 16679111 查看本文章
git checkout -b dev origin/devYuan

origin左侧是我们建立的一个本地分支,origin右边则是我们需要拉取的远程分支。

到这一步,我们的代码拉取下来,并且也与新的分支建立了联系。

写代码,交自己的分支

我们拉下代码后,在本地分支自己的代码上做了修改。怎么提交?

首先,我们需要让本地暂存我们的修改:

git add .

如果要提交,则:

git commit -m '注释'

在commit中,一般情况下一定要写注释。可以把自己当天做的什么东西,用简短的文字一起提交。这个就是提交到了本地仓库

如何推送到远程?如果你还没有推送过你的分支,你需要在远程建立一个新的分支,并且push代码:

git push --set-upstream origin xxx

这一步做完,你就可以在远程仓库上看到你的最新分支了。注意,这个xxx是我们本地当前的分支。这个也可以通过刚刚讲过的git branch来查看。

提交并推送了代码,但是有所更改

刚刚我们已经在远程创建了一个分支,但是我们发现有一个地方有点问题,于是修改了代码。修改代码之后,我们再提交到远程分支,就不必像刚刚那样大费周折,直接:

git push

就可以更新我们的远程分支。

第二天拉取代码

我们和同事用的是一个仓库,但是不同分支,大家有不同的版本,于是第二天,我们需要拉取同事的代码。

但是拉取代码,并不是说,自己写的那一部分就不要了。

一般情况下,我们可以先,建立一个本地分支:

git checkout -b xxx

创建了一个本地分支,然后拉取同事的代码:

git pull origin xxx(同事的分支名)

拉下来之后,git可能会报错,是因为有冲突。冲突,是因为我跟同事改的代码,改了一个地方,但是有两种写法,那么应该听谁的呢?这个时候就需要和同事商量,一般情况下,编译器中的工作树种都可以看到,比如我们的vscode。可以在上面进行选择。

但是如果不想合并代码,想直接拉取该怎么办?这个时候我们就可以先提交到本地一版,先add,再commit。或者我们可以用到:

git stash 

把现在的代码放到暂存区,这个时候我们就可以正常拉取同事的代码,并且自己写的代码也没有丢失了。

切换分支

假如我们本地有多个分支,但是要查看不同分支,就需要从这个分支切换到另一个分支,我用的最多的是:

git checkout xxx

敲黑板,如果切换分支都报错,那么也需要走一遍add,commit流程,或者stash。大多都能解决问题。

远程分支太多&&本地仓库太多

如果是涉及到分支开发,那么可能一段时间内分支会有很多,这样的话其实会对效率有一些影响。所以每过一段时间,我们都需要清理本地分支,或者本地仓库。

很简单,远程分支清理:

git push origin --delete xxx

本地分支清理:

git branch -d xxx

本地删除如果报错:

git branch -D xxx

可以解决大部分问题。

checkout检出失败的情况

如果分支存在,但是检出失败,可能是因为,本地并没有及时更新分支。

我们先来聊一下,如何更新本地查看远程分支时,远程分支是完整的,首先,本地查看远程分支:

git branch -r

如果分支不全,那么检出是失败的,我们在本地更新一下:

git fetch

之后就可以用上述聊到的git checkout…来正常检出了。

未完待续

以上是我在上班的时候,遇到问题,解决问题的一些方法,都总结在这里。刚来上班的我只懂理论,在git这条路上,探索了很多,也失败,着急了很多次,最后通过资料的搜索与学习,一点点学习到,尝试用,并熟练。
在这里插入图片描述

我知道后面我还会遇到很多问题,都会在这篇博客中记载。也欢迎大家关注,欢迎指正,有什么问题欢迎评论区一起交流!学习是永无止境的,祝大家渐入佳境!!

猜你喜欢

转载自blog.csdn.net/zxdznyy/article/details/132886306