git clone 指定版本_关于Git的基础操作

最近实验室准备搭建一个代码库以供大家科研学习使用,并且想要支持代码的版本管理,想了一下,还算是熟悉的两个工具,Git、SVN,于是对比了一下两者的区别:首先SVN是集中式版本控制系统,版本库是放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先需要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己的代码提交到中央服务器。这样一来,如果服务器出问题了,岂不是直接崩盘?另外查了一下资料,发现实现起来不太容易,遂放弃。而Git是分布式版本控制系统(DistributedVersion Control System,简称 DVCS),相比之下,它更倾向于分布式模式,除了有一个中心版本库之外,每个独立的开发人员也可以在自己的机器上克隆一个自己的版本库。并且同样可以查询历史版本记录,创建项目分支等。而且相比较SVN,它处理分支相对比较简单。于是,准备选择使用Git来搭建。先来学习Git的一些简单操作。

Git的历史

Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。到了 2005 年,开发 BitKeeper 的商业公司与Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区基于使用BitKeeper 时的经验教训,开发出自己的版本系统。

Git的工作流程

    1、Git分为两种仓库:本地仓库和远程仓库;

   本地仓库:是在开发人员自己电脑上的Git仓库;

   远程仓库:是在远程服务器上的Git仓库;

    2、主要的四个操作分别是:Clone、Push、Pull、Commit,如图1所示。

    Clone:克隆,就是将远程仓库复制到本地;

    Push:推送,就是将本地仓库代码上传到远程仓库;

    Pull:拉取,就是将远程仓库代码下载到本地仓库;

    Commit:提交,将暂存区的改动给提交到本地的版本库。

30df7728219687b71716deb5f005b0eb.png

工作流程如下:

1.从远程仓库中克隆代码到本地仓库

2.从本地仓库中checkout代码然后进行代码修改

3.在提交前先将代码提交到暂存区

4.提交到本地仓库。本地仓库中保存修改的各个历史版本

5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库

cbbc9b20c3b8ea52ef63d171e43141cf.png

Git的实际操作

以上是对Git操作的一个简要介绍,如果需要实际使用它,需要选择一个基于这种技术的托管服务或者可自行搭建服务器,托管服务比较出名的Github、码云Gitee或者是Gitlab。那么这些托管服务提供的就是远程仓库。

由于Github是国外的服务器,访问速度较慢,我们就选择国内的码云Gitee来实现我们的需求。首先就是去Gitee网站(https://gitee.com/)注册一个账号。账号注册好之后,在平台上建立一个远程仓库。接下来就需要安装Git。

3c0a56e321944738fa049cb67adb45e2.png

可以发现Git是一个类似于windows的CMD命令行一样的程序。相关的安装方法可以上网查询,基本都大同小异。那么安装好之后,我们接下来操作一下。这里就用我们刚刚新建的一个远程仓库来测试。

5be095985ffcc2d4e94e8754e5219739.png

然后在我们的本地磁盘中新建一个文件夹,同样命名为test:D:\test;接下来在这个文件目录下打开Git。

先配置环境,登录你的远程仓库账号:

git config --global user.name “用户名”

git config --global user.email “邮箱”

接下来我们就需要获取一个Git仓库,获取的方式通常有两种:1、在本地初始化一个Git仓库,从远程仓库克隆。

git init  // 初始化一个本地仓库,如果出现文件.git(这是个隐藏文件),则成功。

// 如果这是我们需要从远程仓库将工作的代码clone下来

git clone https://gitee.com/myleecode/test.git(这个地址是我们刚刚建立的一个新的远程库)

// 假设此时我们更新了一个代码main.m,我们现在将它push到远程仓库中

git push  origin master // 其中origin是远程仓库服务器的默认名称,master是一个默认创建的分支

经过上面的操作,我们发现,远程仓库中多出了一个文件main.m,说明我们操作成功。

5c06b2b8571e348cf4a8a790a618e95e.png

接下来,假设别的开发人员更改了代码,加入在远程仓库中多了一个文件test.md

f4ae9d0ef54ae6f0930b37ff84d5ec27.png

我们在进行新的开发前,需要将最新版本的代码拉取下来。

git pull  origin master

91266ba6fe0c35010c1e508fa5389faf.png

成功拉取下来。

总结

从上述的一个操作流程来看,发现利用代码行来操作这个远程仓库的流程,其实并不是很简洁,所以为了方便,大家可以使用一些第三方的工具来进行界面操作。例如:TortoiseGit。除以上说明之外,Git中还有很多指令以及本地库地操作,为了更好地使用它,大家可以系统地学习。

李玉杰,重庆大学无线通信技术实验室硕士研究生,主研方向为智能信号与信息处理。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值