这次大项目,我们使用的是Git做团队协作和版本控制(虽然主要是我在写代码吧),但是偶尔确实会有一些问题。就此记录一下。
Git介绍
Git是目前最流行的版本控制系统,用于软件开发的源代码管理。它是分布式的,允许多个开发者在本地拥有完整的代码仓库,可以离线工作。能够对项目的不同版本进行快照管理,包含完整的目录结构和文件内容信息。也使用SHA-1哈希函数来验证数据完整性,确保代码未被非法修改。还有推进了分支管理的发展,可以快速切换和合并分支,支持多流开发。能够通过add、commit、push等命令就可完成对本地仓库的版本控制。大部分操作可在没有网络的情况下进行。还能够有效地处理了在同一项目上协同工作的多个开发者之间的冲突。更高级的,如GitHub提供基于Git的代码托管服务,拥有丰富的开源项目仓库。同时,还提供完善的命令行工具和丰富的GUI客户端。
Git安装
Linux上装软件,要啥输入啥就完事了
sudo pacman -S git
稍等片刻,就安装完了。
基本使用
由于我们需要使用代码托管平台,所以还使用了Github
git clone 刚刚复制过来的链接
注意,如果是新装的git,估计会叫你输入帐号密码。
git add README.md
git commit -m '更新readme'
到此,你就完成了一次本地提交。那么如何放到github上?如下:
git push origin main
origin的意思是来源,在这里表示github。main就是你当前所在的本地仓库分支。
分支是什么?你想想,你和别人一起写代码,一开始那一份代码肯定是一样的是吧,完工后,不是就有两份了?这不就是两个分支了?再加上原来那一份代码,一共三个分支。
远程提交的坑
刚刚说了,不是有三个分支了?那么你提交上去了,别人再提交,就出现问题了。这个叫做冲突。有人总结过一个方法:
git stash push
git rebase origin/dev
git stash pop
第一行的含义是,将你目前的代码放到临时分支里面。第二行是把github的代码拿过来,第三行就是把临时分支里的东西拿出来
但是它有风险,如果出现别人写了新文件,刚好你和他重名了,这样就完蛋了。
删错文件了,如何恢复?
git reset HEAD^
这个的含义是,回到上一个分支去。这样你删的东西就回来了。