git仓库的基本使用

首发自:本然道软件:git仓库的基本使用

前言

在软件研发的过程中,我们如何将自己的代码管理起来,其实是一个很重要的话题。这里的管理往往包含了这样几个方面:

  • 如何共享代码?我们一般不是一个人在研发,即使是你一个人在研发,你也需要将代码进行备份一下。
  • 如果我们犯错了怎么办?是的,我们可能会写出很糟糕的代码,那我们如何回到从前呢?
  • 如何共同维护一套代码?这是一个很重要的事情。一个人写代码,和一群人写代码,区别是很大的。而且,我们需要更多的人一起开发一套代码以加快整个工程的速度。
  • 在不同的环境中,我们如何管理我们的代码?产线有产线环境,测试有测试环境,开发有开发环境。这些环境都有不同的人在同一时间使用。客户用着你的产线环境的时候,你们的测试人员正在测试环境上测试下一个版本的代码。而你在修复bug的空闲期间,在做记下来的技术调研和尝试。三个版本的代码如何管理与更迭。

为了解决这些问题,我们会引进一种叫做版本控制软件的东西。

为什么是Git

主流的版本控制软件有CVS、SVN和Git。现在CVS已经基本推出江湖了,在2010年前后还可以看到它的身影,现在已经很少见了。当然了,中途也出现过一些其它的,比如微软vs studio继承的团队管理工具。不知道现在是不是还在用,由于我现在的接触面,基本上就只剩下SVN了。

CVS

还是先聊聊CVS。CVS是一个客户机-服务器架构的软件,它的使用一般需要在企业环境中,具有良好的网络环境,开发过程中会受到严格的控制。因为所有的信息都在服务器上。我记得当初使用CVS的时候,编辑文件是需要先进行锁定的。编辑完了要记得解锁,要不然别人是无法使用的。这种协作方式,在大型项目中是很不方便的。

SVN

svn现在依然是一种很流行的版本控制系统。它可以将权限授权道目录,非常方便。但是,当我们无法连接到svn服务器的时候,我们是无法提交任何代码的。而且,svn的分支管理本质上是使用了不同的目录,非常的重。在我的公司里,我们更倾向于使用svn来管理文档而不是代码。

Git

Git的诞生是由于linux的创始人Linus想要一个新的版本控制系统用来维护linux的内核,于是他就写了这么一个版本控制系统(要么说大神就是大神呢,不过其实我们也可以)。Git带跟我们的特性主要有这样一些:

  • 本地仓库:我们将Git中的代码拉取到本地后实际上是将远程仓库拉取到了本地仓库。然后我们提交代码的时候实际上是提交到本地仓库的。在Git中需要通过push这个操作动作将代码推送到远程仓库中去。
  • 轻量级的分支:在Git中,所有的文件都只有唯一的版本,分支只是对这些文件的不同的组合罢了。所以,创建一个分支,合并一个分支都不是一个太重的东西。真正的问题其实是不要向Git仓库中传入不必要的文件,因为来了就删不掉了(还是有途径删的,麻烦点罢了。)
  • 基于本地仓库,我们拥有了强大的离线版本控制能力,以及将版本推到另一个仓库的能力。
    基于轻量级的分支,我们可以大量得使用分支来进行版本管理。而在svn中,我们并不会随意创建分支,更多的是保证我们的代码可以回退。

创建一个版本库

本地安装Git

在官方网站上可以找到下载链接,下载安装即可:Git - DownloadingPackage (git-scm.com)

所有的安装选项都可以选择默认,这里我们就不逐一截图安装过程了。你需要注意的是,你要知道你的Git被安装到哪个目录下了。

安装Tortoisegit

这是个什么东西呢?Tortoisegit是一个Git的图形化操作软件,为Git中的指令提供图形化的操作界面。因为Git本身的交互都是通过命令行进行的,对初学者不是很友好,另外对频繁的操作也不是很方便。所以,平时我都是通过图形化操作进行的。这个东西,在Ideal中也有,不过我平时还是习惯通过Tortoisegit进行操作。这是下载地址:TortoiseGit –Windows Shell Interface to Git

安装过程也只是需要输入自己的用户名和邮箱。这是其实是给Git登记的信息。

对了,由于Tortoisegit的图标是一直小乌龟,所以也有人叫他小乌龟。另外就是,并不推荐安装中文版。因为英文版和Git的命令是可以对上的,但是中文版就不好说了。

搞一个远程仓库

为啥说是搞一个远程仓库呢?这个问题我们分三个方面来聊:

  1. 啥是远程仓库
  2. 都可以怎么搞到一个远程仓库
  3. 具体搞一个远程仓库

啥是远程仓库

远程,是和本地相对的。前面我们在本地安装了Git,就可以创建本地仓库了。你在命令行里执行如下指令,即可创建一个本地仓库:

git init

因为你安装Git的时候,安装程序已经自动将你的git.exe所在的路径加入了path,所以你在命令行可以直接执行上述指令。它的结果就是把执行指令的目录初始化成为一个git仓库。这个时候你打开查看隐藏文件夹就可以看到在这个目录下面创建了一个隐藏的名字叫.git的目录。它里面存放了git仓库所有需要的东西。如果我们不希望将这个目录变成git仓库,删掉这个文件夹,一切就都恢复了。文件夹里文件将只是正常的文件而不是受git版本控制的文件。

而远程仓库,顾名思义就是不在本地的git仓库。理论上来说我们在另外一台机器上安装了Git也算。但是,由于我们对远程仓库的使用方法不同,所以我们安装的Git程序是没有办法被当做远程仓库使用的。

都可以怎么搞到一个远程仓库

这里之所以用搞是因为,搞到一个可用的软件仓库有很多种途径:自己装一个,免费仓库注册一个,企业管理平台中自带的。

先说自己装吧。有很多开源免费的程序可以安装,比如GitHub、GitLab。我们在服务器上安装它们之后,就可以那他们当做远程仓库了。自己安装Git仓库的好处就是,这东西是你自己的,没有人拿得走,你想怎么玩就怎么玩。问题嘛,就是你得管它。确实,程序挺稳定的。但是,它运行的机器得一直开机嘛,所处的网络得持续可用嘛,存储数据的空间得够用嘛,真出了什么问题还是要自己上服务器去调试的。推荐高阶用户使用,一般的用户以及小型的企业用户还是在外面的平台上注册一个划算。

再说说网上的免费仓库。前面说的GitHub、GitLab,它们既是可以免费安装的开源软件,也是可以免费注册仓库的开放平台,国内的还有Gitee等。这些平台大多还富含收费项目,不过免费仓库是真的可用就是了。另外Gitee还附带一套团队管理工具,其实蛮好用的。但是吧,毕竟本质是开源平台,企业办公的支持有限,大多还是为开源团队提供支持的角度。所以,个人和开源团队建议使用,公司办公是不推荐的。

最后说说企业管理平台中自带的。按说,它其实和刚才说网上的免费仓库如出一辙,但是它有个本质的区别,就是它本质上是为企业办公服务的,仓库只是它的一个附加服务。比如,阿里云的云效
云效

具体搞一个远程仓库

如上图所示,它几乎可以对全部的软件研发生命周期进行管理。当然了,非常重要的一点是,它还免费。所以,当我认识它以后,就放弃了自己搭建各种Git仓库、Maven私服等等的想法。当然了,肯定有坑,但是至少在代码提交这块,我没发现它有啥坑。点击“代码提交”按钮,进入代码库的管理。
进入代码管理
点击新建代码库
填写代码库信息
如上图所示,我创建了我HelloWorld的仓库。结果如下图:
新创建的代码库
可以看到这里是有教程的。

Git仓库的基本使用

我们按照它方法二,已有文件夹或仓库的教程进行操作。
先配置全局设置(注意,图里的是错的):

git config --global user.email "linghuanxu@qq.com"
git config --global user.name "nature"

另外,在初始化之前,在仓库的根目录放一个.gitignore文件,如下图所示:
代码目录
内容如下:

# Default ignored files
.idea/
*.iml
*/target

解释一下这个文件。这是Git默认的读取忽略信息的地方。文件里每行都是一个需要Git默认忽略的内容。第一行是ideal项目信息的文件夹,第二行是ideal项目文件,第三行是maven的目标文件夹。这样我们就不用总是费心选择要哪些文件不提交哪些文件要提交了。
然后初始化仓库

cd D:\codes\nature_workspace

进入目标目录

git init

初始化Git仓库

git remote add origin https://codeup.aliyun.com/61cacd4e03ecfc3a1a252ddc/nature-tech/HelloWorld.git

配置仓库的远程仓库

git add .

这一行是添加本地内容到Git仓库中,我们是直接选中了当前目录。

git commit

这个时候会跳到一个编辑界面里。这里其实是vi。是用来编辑提交记录用的。当我们保存退出后,提交就完成了。提交的意思就是本地仓库已经保存下了这些代码。然后执行以下指令:

git push -u origin master

这行指令是将仓库推送道远程仓库origin的master分支上。但是,这个时候我们会遇到一个非常困难的问题——输入账号密码

是的,它不是你登陆阿里云的账号密码。他需要你在云效——代码管理的个人设置里去设置它。入口在右上角的头像下,然后我经历可绑定邮箱,激活邮箱,修改用户名和密码的操作,才能正常使用。

至此,我们已经完成了git仓库的创建,刚才的添加文件、提交文件、推送仓库就是Git仓库最常用的基本操作。如果一个人使用,不出意外,你只会用到这些

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

征途无悔

发文不易,谢谢认可

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值