如何使用码云和git进行初步的代码版本控制
本教程简要介绍如何使用码云和git初步进行代码版本控制。
代码管理的主要方式分为分布式版本控制软件和集中式版本控制软件。分布式管理软件使用较多的有git结合github使用。git也可以结合国内的码云网站(gitee)使用。Git是目前世界上最先进的分布式版本控制系统(没有之一)。
集中式版本控制软件,有例如svn等,这里不做过多的涉及。感兴趣的小伙伴可以参考《版本控制及其种类》链接为:https://www.jianshu.com/p/a9ecdf2a5166。下面我们进行介绍如何使用git和码云进行代码版本控制。
1. 运行环境。
码云和git。码云:https://gitee.com/。本教程中git部分适用于linux系统下的操作和码云只要等上网页就可以,注册个账号就可以了。
2. 安装git。
首先需要在linux系统或虚拟机上的linux系统上安装git。安装命令非常简单。
sudo apt-get install git
即可。如果出现安装问题,按照linux终端的提示操作即可。
这样大家看一下我已经按照好更新的样子。
3. ***云账号。
先给大家简单看一下码云长什么样子。大家自行注册好就可以的。
4. 新建仓库和码云网址的操作和设置。
看到登录码云过后右上角的新建仓库。还有其它功能,比如创建组织等,从Gihub/Gitlab导入代码等操作。然后,新建仓库,我们直接点击新建仓库即可。
新建仓库的设置。命名没什么好说的。直接命名就可以。路径设置好系统能通过就可以。归属可以选择是自己的账号,还是组织。需要注意的是,如果选私有,私有仓库只支持最多5人的协作。设置为公开则不限制协作人数。
下面我们勾选使用Readme文件初始化这个仓库。选择单分支模式 即可。如果需要创建多分支,从单分支的master仓库后面新建就可以的。然后点击创建。
这样我们就看到初步新建的结果如下。有一个master分支,分支下面就有两个我们勾选Readme生成的文件。
那么如何创建其它分支呢。首先下拉master然后点击管理。
进入下面的界面。这样我们看到master默认分支。状态是常规分支,然后我们可以设置状态为保护分支,常规分支,和只读分支。这里我们先不管,后面步骤在说。然后我们点新建分支。设置分支名称为heihei,点击提交即可。同样我们再新建一个分支haha。需要注意起点的选择。
新建分支后,我们进入,然后我们就初步建立好了代码仓库的雏形。
下面设置分支的状态。上面提到了分支的状态主要有三种。分别是常规分支,常规分支就是说各个仓库的成员可以互相push。然后是保护分支,表示仓库只有自己的成员才可以进行push操作。如果是只读分支,表示这个仓库只能进行下载操作。实际项目的时候,我们会设置master分支只读,子分支各自为保护分支。这样无论子分支怎么操作,master分支都是安全的。
然后点击下面的管理,我们就可以设置我们的仓库了
可以选择默认分支,当然也可以进行保护分支设置,编辑各个子仓库成员的权限,如下。
点击编辑进入限免界面,选择对应成员的权限保存即可。
当然也可以再分支管理状态下右键齿轮图标进入权限管理。
还需要注意的就是如果希望其他人能下载,就需要设置开源了。
然后就是多成员协作拉人了。可以新建组织的方式。也可从直接从仓库里拉人。组织的方式和仓库里拉人的方式入口如下示意。新建组织的步骤很easy就略过了。
这个图是从仓库管理进入,找到仓库成语管理,点击开发者。
点击开发者进入,下面界面,点击添加仓库成员。
这里我们看一下直接搜索的方式。搜索到,点击添加即可。这里我们看到拉人的方式有三种。链接方式,其他人扫描二维码的方式,直接添加就是指导所拉人的码云账户名直接搜索添加即可。或者通过其它仓库成员直接邀请即可。
如果是组织,从设置进入,找到仓库成员管理设置即可。
然后进入设置就看到基本设置,成员管理,删除组织,操作就是类似的了。
到这里位置码云的操作基本查不多了,然后我们需要记下自己的仓库网址,比如这个的是,点击复制链接https://gitee.com/natureworld2010/test100.git 然后我们还需要记住自己的用户名和密码。后面git会用到。
5. 下面就是通过git进行仓库文件的下载和上传。
linux终端输入
git clone https://gitee.com/natureworld2010/test100.git
结果如下示
然后,我们继续操作,代码和结果如下图示。但是我们发现有个问题,就是push操作提示master为只读,那么为了测试方便,我们先在码云设置master为常规分支。然后再执行铺设操作就可以看到push提交成功了。然后需要注意,终端会提示你输入你的码云的用户名和密码,输入即可。还需要注意每次push之前需要pull一下。即git pull。
开始,我们在码云上新建了haha分支和heihei分支。现在haha的状态是常规状态,master的状态是常规状态。master仓库下的用户可以git merge haha使haha仓库的最新状态合并到master,而在haha分支的用户,不可以git merge haha新文件到master。然后我们下面我们学习下下面几个命令。看代码。
然后继续输入命令
然后我们继续看代码
然后下图我们会发现在haha分支执行git merge haha,仓库master对应的文件并没有得到更新。这个地方原因是上面在haha分支没有进行pull和push操作。
下面我们执行pull和push过后,发现master下的test.c的内容还是没有更新,那是为什么呢,原因是需要再master分支进行merge操作。
然后下面看一个代码比较全的版本的图片作为汇总,请看,在master下执行git merge haha然后master仓库的test.c 的内容就得到了更新。
那么有一个问题:如果设置master分支为保护状态,那么master用户可以执行git merge 操作吗,是可以的。
那么现在设置master为常规状态下,也是可以的。
总结下:
git pull origin haha
git push origin haha
git merge haha //master仓库下操作
然后引用廖雪峰官网的小节一下:
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
或者git switch <name>
创建+切换分支:git checkout -b <name>
或者git switch -c <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
参考链接:
《版本控制及其种类》https://www.jianshu.com/p/a9ecdf2a5166
《git简介》https://www.liaoxuefeng.com/wiki/896043488029600/896067008724000me'me