问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Git命令行入门:从安装到代码提交的完整指南

创作时间:
作者:
@小白创作中心

Git命令行入门:从安装到代码提交的完整指南

引用
CSDN
1.
https://blog.csdn.net/2302_79341182/article/details/145814380

Git是一个广泛使用的分布式版本控制系统,由Linus Torvalds于2005年创建,主要用于管理软件开发中的代码变更。它允许多个开发者协同工作,记录每次代码修改,并支持回滚到任意历史版本。本文将详细介绍Git的基本概念和一些常用命令的使用方法,帮助读者快速掌握Git的基本操作。

Git的基本概念

Git是一个分布式版本控制系统,由Linus Torvalds于2005年创建,主要用于管理软件开发中的代码变更。它允许多个开发者协同工作,记录每次代码修改,并支持回滚到任意历史版本。

  • 仓库(Repository): 存储项目文件及其历史记录的地方,分为本地仓库(开发者本地机器上)和远程仓库(GitHub、GitLab、Gitee等)。
  • 工作区(Working Directory): 用户当前操作的文件目录。
  • 暂存区(Staging Area): 临时保存即将提交的更改。
  • 提交(Commit): 将暂存区的更改永久保存到仓库,每次提交生成一个唯一的SHA-1哈希值。
  • 分支(Branch): 从主线分离的独立开发线,默认分支为master或main。
  • 合并(Merge): 将一个分支的更改整合到另一个分支。
  • 克隆(Clone): 从远程仓库复制整个项目到本地。
  • 拉取(Pull): 从远程仓库获取最新更改并合并到本地分支。
  • 推送(Push): 将本地更改上传到远程仓库。

Git的基本操作

安装Git

在Linux下进行Git的命令行操作时,需要先安装Git。

指令:sudo yum install -y git

当你首次使用新安装的Git时,Git会提示你进行配置用户名和邮箱。按照提示配置即可。

新建仓库及配置

我们可以在Gitee上新建一个仓库(在我们注册登录Gitee账号之后右上角的‘+’符号新建仓库)

仓库名字我们要根据自己的需求命名规范,方便自己或者他人的查看。

接下来再设置初始化仓库设置模板选择分支模型等,如下:

  • 初始化仓库

    1. 选择语言,选择自己所使用的语言即可,比如小编选择的C++
    2. 添加.gitignore,也选择自己所使用的语言即可,这个东西是干什么的我们下面详细说。
    3. 开源许可证我们随便选一个都可以。
  • 设置模板

    1. 建议选择Readme文件;Readme相当于你的代码的说明文档。
  • 分支模型

    1. 这些分支模型都是和开发有关的,目前我们使用默认就可以。以后我们做开发的时候可能就会使用多分支。

做了以上设置之后,我们点击创建即可,创建之后,此时在我们对应的远端就形成了一个仓库。接下来我们就可以在我们的Linux下做代码提交了。怎么做呢?

Git Clone

我们形成仓库之后,我们想要在Linux下做代码提交,首先我们要先找到仓库的链接,如下图:

找到仓库链接之后,复制该链接:

小贴士:实际上我们提交代码的时候有很多种不同的提交方式:HTTPS、SSH、SVN等等,但是新手我们建议使用HTTPS的,而SSH等熟悉之后再用(因为比较麻烦,需要在本地形成对应私钥、公钥,然后在你的配置当中仓库里添加密钥信息的等等)

做完以上工作之后,我们就可以在Linux下把我们的远端的仓库拉取下来

指令:git clone 仓库链接

此时可能要用户输入你的Gitee账号的密码。

做完以上工作以后,在当前目录就会形成我们的仓库了:

此时进入这个仓库目录,ls/ll就能看到我们在Gitee上看到的文件。

.gitignore

当我们ls -al仓库目录时,我们就能看见.gitignore这个文件:

这个文件是干什么的呢?我们vim进入这个文件,我们可以看到很多文件的后缀:

首先我们要知道,git上传文件的只需要传源代码(.h/.c/.cpp)就可以了,其他临时文件不需要传上去,而.gitignore文件就可以保证,凡是在这个文件中存在的文件后缀所对应的文件,正常git操作的时候,不会被上传到远端的仓库下。

小贴士:如果我们不想让带有某些后缀的文件上传到我们的远端仓库上,我们也可以在.gitignore文件中添加上这种后缀。

另外,当我们ls -al仓库目录时,除了.gitignore之外,还有一个.git,这个就是我们的本地仓库。所谓的git仓库,本质上就是一个目录,名字叫.git;再加上里面的内容。而我们后面学的push到远端仓库,本质上就是将你的.git里面的内容同步到远端仓库上。而远端仓库上实际上也有一个和.git一模一样的文件夹,只不过是我们看不到而已。

Git Add

当我们把代码文件放到仓库中, git add文件名,就可以将需要用git管理的文件告知git。我们来测试一下,下面我们在仓库中创建一个process目录,里面放置我们的代码文件test.c

下面执行命令:git add .这个命令的意思是将我们新增的文件,把它添加到本地仓库。(将新增的文件进行二进制转码 添加到.git中)

Git Commit

指令:git commit -m '日志信息'

git commit是提交,-m后面必须写上我们的提交日志,这个日志不能没有,没有的话就会报错。另外,日志不能乱写,因为日志记录自己做了什么事情,什么修改,方便团队协作别人和自己的查看。而这个提交并不是提交到远端,而是把新增的文件提交到本地仓库,add只是添加到仓库(添加到临时区域),commit就是合并到本地仓库,也就是本地有这个代码了,而远端没有。

Git Push

git commit之后,我们的本地仓库已经有我们的代码文件了,而此时我们想要同步到远端时,就可以用git push了。

git push :把本地内容提交到远端。

git push完成之后,此时我们刷新一下我们的Gitee仓库,此时我们就能看到我们刚刚新建的目录process以及里面的代码文件了。而commit提交的日志信息也显示在上面了。

如果途中出现下面的情况:

我们按照提示输入操作即可:

当然,git push的时候,如果你不想频繁输入账号密码,也能配置免密码上传:

配置免密码

其他Git指令

  1. git log 查看提交日志信息。
  2. git status 查看当前的状态(记录一些变化,比如新增文件,修改了文件等等)。

Git Pull(把远端的东西拉到本地进行同步)

我们上传到远端仓库的代码是可以在远端编辑修改的,假如我们在远端修改了自己从Linux上传到远端的代码并提交了,此时我们假如不知道远端做了修改,我在Linux下新建了一个文件,然后再进行git三板斧(add,commit,push)提交到远端,也就是说我在远端把代码改了,在本地仓库我也做了修改,这时候我们提交到远端的时候,系统就会告诉我们冲突了。此时我们就可以用git pull了。

git pull把远端的代码先拉取到本地进行同步,同步的时候会进行合并,我们默认就可以,这时候再进行git push,这时候就能识别提交到远端,不会冲突了。这时候我们在远端刷新仓库,也就能看到新增的文件了。并且在本地也能看到在远端做了修改的代码。

这个场景就像在工作中我们有几个人共用一个仓库,你的小组成员在远端对代码做了修改,你在本地也做了修改,而这时你上传代码的时候发现冲突了上传不了,这时候就可以用git pull。这个冲突的本质也是强制我们每一个人必须随时随地地和远端仓库保持一致,不一致就pull一下同步。

其他指令

  • 如果我们想对仓库里面的文件重命名,用git mv
  • 如果我们想删除仓库里面的文件,用git rm,再git commit git push提交即可。
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号