为什么要使用gitee?
gitee是基于git所搭建的网站,会给我们提供一个稳定的服务器保存我们的版本信息。因为github是国外网站,国内访问速度不够稳定,所以我们选择使用gitee。
前边我们讲解了如何在本地进行操作,
接下来进行讲解如何实现远端和本地同步以及.gitignore文件的使用。
新建仓库
点击新建仓库
设置模板中全部勾选,接下来会进行相关讲解,分支模型先选择单分支,即只有master主分支即可。然后点击创建。
README文件
点进去默认会打开一个README文件,我们可以修改其中的内容。
设置开源,管理中->基本信息,下滑就可以看到又一个选项是是否开源,点击开源,然后勾选保证即可。
这样别人就可以看到你提交上来的代码了。
ISSUE模版文件
可以看到,仓库还提供给了我们这个功能,我们在右上角点击新建Issue。这个功能是查看我们代码后有问题的人和我们做交流的地方。
在我们的代码中,有一个.gitee文件夹,点击后打开其中有一个ISSUE开头的文件,点击阅读该文件的内容,可以发现和上边Issue中的模板相同。这就是模板中第二个勾选的内容。当然我们可以修改模板中的内容,然后新建ISSUE中的内容也会改变。
创建ISSUE后设置完该设置的选项(如负责人,优先级,错误类型(标签)等)就可以点击创建,然后我们就可以看到当前创建的仓库中别人提出的问题了。
Pull requests模版文件
有了前边的讲解,我们可以先查看代码中.gitee中的相关模板文件。
这个模板和多分支有关,在实际开发中,直接将分支的内容合并到主分支是不被允许的,因为你无法保证分支中是否有隐藏的bug会导致主分支崩溃,进而影响线上环境。
所以在合并之前,我们要有一个申请的动作,如图所示。
PR申请单就是上述的PULL_REQUEST_TEMPLATE。
由于当前是一个单分支模型的仓库,所以就不演示如何操作申请合并了。但是点击创建我们可以看出,如果管理员同意,gitee会自动帮助我们合并两个分支,如下。
克隆仓库到本地
这里有四种协议,我们选择Https的,点击复制就可以得到我们远端仓库的地址。
在linux下进行克隆操作,将远端仓库克隆到我们的目录下(切记,除了在本地目录(.git),其他目录都可以克隆)。
git clone 复制的路径
回车以后就可以看到当前目录下多了一个目录。
我们可以查看远端仓库
git remote
默认的我们的远端仓库信息都是origin,如果想仔细查看可以加-v选项。
可以看到,远端仓库给我们提供了两个功能,推和拉。分别代表我们从本地仓库上传远端和从远端获取文件的操作。
接下来我们就开始进行对远端仓库的配置。
git config --global user.name “你的码云的名字”
git config --global user.email “你的邮箱”
要加上引号。
向远端仓库进行推送。
三板斧
git add
git commit
git push
之前的文章已经讲解过了add和commit操作以及如何查看仓库状态等。
今天我们已经将远端仓库克隆到本地,如果我们本地的仓库发生变化,就要在远端仓库进行同步,这就是push操作的意义。
在同步过来的远端仓库中新建一个文件,写入一点内容。
告诉我们test.c文件需要add操作。
接下来commit的就不演示了。
要求你输入名字和密码你就输入,密码是登录gitee的密码。
然后就可以提交成功,默认是向创建仓库的主分支进行推送,如果有其他分支后可跟其他分支的名字。
push操作是通过本地仓库和远端仓库之间的链接关系同步两个仓库的,push操作是本地仓库中修改(增删改)的操作并没有上传到远端,还有与其相对应的pull命令是将远端同步到本地。
进行push操作的演示
在工作区新建一个文件,写入一些内容。进行add和commit操作。
commit之后使用status查看状态,可以看到告诉我们有一个文件没有上传至远端仓库。
我们这个仓库只有一个分支,所以后边origin可以忽略。
这样就成功将新建文件上传至远端仓库。如下图。
pull操作
push操作是由于没有及时同步远端,pull就是在多分枝模型下,有多个仓库,如果别人推送到远端的内容我自己的本地仓库没有同步,也就是自己本地的仓库是旧的,就需要进行pull操作。
因为我这里是一个单分支模型,所以用其他分支提交内容是做不到的,但是我们可以直接在gitee上修改,模拟实验一下。
可以直接编辑。
添加一行新的内容。然后提交即可。
使用git pull查看是否远端有内容修改,pull操作就是拉取和合并,这样本地就和远端保持同步了。
再次打印,可以发现test.cpp中的内容发生了变化
.gitignore
在真正使用git时,通常要管理好多文件,如果我们上传的内容中有我们不想上传的文件类型,我们就可以使用.gitignore来忽略他。
在新建仓库时,其实就有这个选项。
现在我们来自己写一个,观察他的功能。
写入,假设我们不想要.a为后缀的文件。
创建一个以.a为结尾的文件和其他后缀的文件,对比观察。
可以发现,虽然.a结尾的文件也在工作区,但是自动被忽略了。如果我们有一个独特的文件,虽然因为后缀所以是要被忽略的,但我们还是想将其上传至远端,就可以在add时加-f选项。
还有一种方法就是针对该文件对.gitignore进行修改。因为test.a已经提交,所以新建一个.a结尾的文件进行演示。
更改.gitignore。
更改之后即可生效,再次add就可以将file.a上传到远端了。
假设我们.gitignore文件中有好多好多后缀和文件,我们想知道新建的一个文件为什么不让上传到远端。
一个新的命令
git check-ignore -v 文件名
可以查看在.gitignore第几行将改后缀文件忽略。
本文到此结束。