Git基本操作(1)

Git是一种开源的分布式版本控制系统,最早在上世纪90年代由Linux之父Linus Torvalds开发。GitHub是最早的用于代码版本控制与管理的软件,现已成为国际IT行业里的一大开源项目交流平台。到目前为止,基于git而搭建的版本控制系统已经多如牛毛,国内的Gitee(码云)、CODING,以及本平台所在的GitChat,都是国内各大业内人士所推荐的版本控制平台。本篇博客主要讲述如何在Linux系统上建立Git并提交自己的代码。

本地仓库repository的建立

所有的操作开始前,自己先必须有一个码云账号,没有码云账号的读者,可点击此链接注册账号:
码云账号注册

成功登陆码云之后,会看到如下的类似界面:
在这里插入图片描述
点击其中的“+”号,就进入了建立新仓库的界面,开始设置仓库中项目的属性:
在这里插入图片描述
Git中的仓库(repository)可以简单地理解为一个代码项目,提交到仓库里的代码共同实现这个项目的全部功能。gitignore是一个配置文件,对gitignore进行设置后,系统会过滤掉每一次用户提交的代码中用户不希望出现的文件,便于git的管理。

在这里简要地介绍一下一个仓库里的基本属性:

  • 分支
    分支可以简单地理解为仓库中项目的分流。项目开发实战中,讲究分工协作,即不同的人干不同的事。不同的人在干自己事的时候,有着自己独立的办公地点,这个办公地点就是自己的一个分支。一个仓库有且只有一个主分支,这个分支不能删除,而且固定了名称,所有子分支的派生都来自于此,这个分支就叫mastermaster的地位就好比一个项目的项目经理一样,master主分支确定了整个项目系统的开发架构,项目的各个模块均开发完成后,各个分支就要进行汇流,此时分支就要进行合并或删除。
  • 版本
    版本指的是一个分支里面不同代码的版本,一个分支的版本也决定了整个项目的版本。

填写完上述仓库的基本内容之后,点击“创建”按钮,会出现下面的界面:
在这里插入图片描述
出现这样的界面,就代表你的本地仓库建立好了,接下来就可以在上面提交代码了。

提交代码到码云

在Linux下提交代码前,先保证自己的Linux主机上已安装git命令(sudo apt-get install git(debian)或sudo yum install git(redHat))。

点击上图中“克隆/下载”的按钮,此时会弹出两个链接,点击其中的HTTPS链接,复制得到这个仓库在码云上的链接。

在自己的Linux主机上,输入如下命令:

git clone [HTTPS]

其中HTTPS就是之前复制的HTTPS链接,在Linux主机上直接粘贴即可,命令输入完成,执行之后,查看当前的路径下的所有文件,会显示出如下结果:
在这里插入图片描述
出现了上述情况,表示码云上的项目仓库已经成功拷贝到了你的Linux主机上,今后与此项目相关的代码的编写与提交,都必须在这个路径下进行

写好一个项目的代码之后,接下来就要进行提交操作了:
在这里插入图片描述

  • 第一步,先执行git中的add命令:
git add ./*

git中代码的提交可以简单地理解为快递的运输,上面的步骤等同于把你想要邮寄的快递放入运载的货车里。“./*”表示的就是提交的是这个文件夹底下所有的文件(不包含隐藏文件)。执行完这一步,代码文件仍然在本地的系统里,而未进入远程git仓库,此步骤做的事是将即将提交的代码文件进行集中存储和压缩

  • 第二步,执行git中的commit命令,给此次提交添加一个备注:
git commit -m "XXX"

m选项,表示“message”,就是给此次提交添加信息,“XXX”的内容就是你要输入的信息,一般此内容都是输入你在代码中做出的修改,或是你在代码中做出的优化。此步骤在每一次提交中都必须执行,否则后续的步骤就会不成功。这一步就好比给你将要寄出的快递贴上标签,或是写上重要的信息。
在这里插入图片描述
若得到上面这种结果,就说明执行此命令成功了。

  • 第三步,执行git中的push操作
git push [HTTPS] [Branch Name]

此步骤才算真正意义上的提交代码了,参数Branch Name就是指分支名称,由于此次提交的代码并没有产生新的分支,所以此命令直接执行为“git push [HTTPS] master”即可。执行此命令成功的话,会出现下面的情形:
在这里插入图片描述
以上就算把整个代码提交的过程讲完了,成功执行上面所有步骤的话,代开自己的码云账号,进入自己的仓库目录下,就会看到以下情况:
在这里插入图片描述
可以发现,仓库目录里面多了一个test.c的文件和之前commit时的添加信息“This is a test”,test.c的内容则为:
在这里插入图片描述
正好就是之前写的代码的内容,提交代码大功告成!

可能出现的问题

  1. 执行完commit操作之后,也许会弹出下面的一大堆东西
    在这里插入图片描述
    图中已经告诉了你解决的方法,执行下面的命令即可:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

可以知道,这是因为你还未在你自己的Linux主机上提交过代码,远程git未能识别提交者的身份而造成的。

  1. 执行完最终的push命令,没有出现之前提到的结果,反倒出现以下情况
    在这里插入图片描述
    此情况产生的原因有两种,一种是因为本地的仓库文件夹下的文件并没有得到修改,所以push是不成功的,还有一种,就是未执行commit操作,就直接执行了push

  2. commit不成功,出现以下错误:
    在这里插入图片描述
    错误提示“未产生分支”,说白了,就是提交的代码与上一次相比并没有产生不同,所以提交是无效的。

  3. push出错
    在这里插入图片描述
    这是由于缺少了HTTPS和Branch Name两个参数而导致的错误。

git进阶操作

1. 设置remote

git remote add [Name] [HTTPS]
git remote remove [Name]

前者是给远程的某一个代码仓库的链接取一个别名,后者是删除这个别名,执行过这样的操作之后,那么pull和push的命令书写就简单了,有参数HTTPS的地方都可以用你取得这个别名代替,就像这样:

git pull [Name]
git push [Name] [Branch Name]

2.查看提交日志log

git log

执行结果与下面的类似:
在这里插入图片描述
此命令执行之后,显示的是你在本地的Linux主机上push的所有记录,以及你修改代码,产生新分支的所有信息。

3.本地代码恢复checkout

git checkout .

如果你一不小心把代码全部删了,可以通过此命令把代码全部找回来,就像这样:
在这里插入图片描述
有了此命令,就不会出现“从删库到跑路”的狼狈难堪之况了,这个是git中非常重要的一个命令,此命令能够有效地保护代码和管理代码。此命令与log操作联用,可以有效地保证代码不会丢失,以及找到删除代码的“元凶”。

4. 查看当前本地的代码相对于远端Git仓库中的代码有何改变(diff)

git diff .

5. 多人协同开发时,从远端服务器更新代码(pull)

git pull

以上便是基于本地git的所有操作,并未涉及到远程服务器git操作。有关远程的git操作,必须在有网络的条件下进行,本人会在今后的时间里逐一讲述,敬请期待。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值