在团队中,如何通过使用git来进行本地和远程的版本控制。本文从多个角度来介绍不同场景下,如何使用git来快速实现团队协作。
背景:项目组在gitee(或者github)上有一个git仓库,如何加入团队git实现项目的协作。
第一步:项目构建的Tips
在进行团队项目合作时,采用git并将代码仓库放置到托管平台上,每位成员在进行代码更改后,只需要通过几行代码,便可实现自己与整个团队工作的同步。
对于项目构建本身来说,一般是团队中的Leader或者是技术大牛来构建团队使用的托管仓库。作为一个初学者,可能你已经了解了git的简单使用,并能够通过git add、git commit、git pull、git push这几个简单的脚本命令或者IDE上提供的按钮来实现git的版本控制和托管平台的交互。
作为初学者来说,这其中最容易忽略的便是文件.gitignore。.gitignore会在使用git进行版本控制中,通过其中的规则配置,并不会讲一些临时生成的配置文件、编译文件、参数配置信息等文件添加到版本控制中去。因为毕竟这些在本地电脑上生成的临时文件在编译完成后可能高达上G的单位,而且在不同的设备中往往需要再进行其本地环境的编译和配置,所以在项目团队操作中,不应该将生成的临时文件等也一并上传到代码仓库中,应该使用.gitignore这个利器,来很好的对临时文件进行过滤。
下面简要介绍如何使用.gitignore文件:
对于一个新的项目中,一般在git init后,并不会产生该文件,还需要在命令行中创建该文件。
在命令行中,输入touch .gitignore
或者复制粘贴其他已经写好的.gitignore文件到项目的文件夹内,也是可以的。
在.gitignore文件中,可以看到里面有很多代码,这是配置语法相关的内容。在这其中可以看到熟悉的JetBrain、VScode等熟悉的名字,这也正是因为JetBrain、VScode会在项目的文件夹中生成一些默认的配置文件。
这里列举几个简要的配置语法:
/
表示目录,可以设置某一文件路径的匹配。
*
表示通用字符的标识符,可以表示多个字符,常用结合使用匹配某一特定后缀的文件。
!
表示不忽略匹配的文件或者目录
还有很多配置语法,感兴趣的搜索.gitignore匹配规则即可。
第二步:项目的同步
在设置完成代码仓库、文件规则之后,就是对于团队成员如何进行项目的同步了。一般而言分为两种:场景一,本地并没有项目,需要从托管仓库中获取项目代码。场景二,本地存在项目,在修改代码后需要同步至托管仓库,来保持团队项目版本的一致性。
场景一 本地没有项目
首先是克隆gitee(或者github)上的项目到本地
git clone 你复制的git地址
在该项目的命令行中进行下一步操作。
场景二 本地有项目,并且代码进行更改后,需要上传到仓库中
Step1 将更改代码文件添加到缓冲区内
git add .
Step2 添加本版本的注释信息
git commit -m "对这一版本更改做的注释"
Step3 上传到仓库
git push
协作Tips
在团队内进行协作时,要养成良好习惯,减少代码冲突。以下是在团队协作中,良好的习惯。
- 先进行commit再进行pull
因为若没有冲突会自动合并远程的代码,如果有冲突,则需要先手动处理冲突,然后调整代码合并。先进行commit的原因是,如果合并后产生的冲突无法解决,此时还可以退回到合并前的版本。
- 合并后再commit一下
在完成与云端合并后,需要再commit一下,记录一下合并的新版本。以免后续更改代码时,使用的项目版本并不是云端版本与自己本地版本的合并版,造成代码的无效更改和代码返工。
- git push 上传到仓库中
此时你的本地版本顺利同步到仓库中。通过这种方式,在项目合并处理冲突后,使得云端托管版本为最新版本。
附录:常用的git命令
创建新的分支
git checkout -b branch
查看git操作状态
git status
查看git提交日志
git log
更新远程 Git 托管仓库
git push
拉取远程 Git 托管仓库代码
git pull
比较工作目录中的文件版本
git diff <file path>