git基础使用

Git简介

Git是一种分布式版本控制系统,它用于跟踪文件和文件夹的变化,记录各个版本的修改历史,并且可以协作多人在同一个项目上进行开发。Git最初由Linus Torvalds开发,目的是管理Linux内核的开发过程,现在已经成为了软件开发的必用工具,大佬不愧是大佬,之前写的小玩具成为了行业标准。

Git解决的问题

1.远程仓库和备份

Git可以将本地仓库与远程仓库关联,从而实现代码的备份和共享。远程仓库可以位于团队内部的服务器或者托管在云端的代码托管平台(如GitHub、GitLab等)。这样,即使本地计算机发生故障,代码仍然可以从远程仓库中恢复。

2.版本控制

Git用于跟踪文件和文件夹的变化,记录每个文件的修改历史。它可以追踪每个文件的每一次修改,包括添加、删除和更改。这使得开发团队可以查看和恢复特定版本的文件,从而更好地管理代码库的演进。

你可能遇到过,修改稿子的时候,你想删除一个段落,但是不知道是否有用?拿不准的情况下,你删除了,并进行多次备份,写了多篇稿子,时间一长,你再去找原来删除的段落,还能找到吗?但是git不一样,你每次修改一个文件都会有一个标签说明,你根据标签说明可以快速找到原来的文件,管理起来十分便捷。

3.分支管理:

Git的一个主要特点是分支(Branch)管理。分支是独立的开发路径,允许开发人员在不影响主线(Master)的情况下进行实验、添加新功能或修复错误。使用分支,开发人员可以在不同的分支上同时进行工作,然后合并(Merge)它们的修改到主线上。

意思就是说有个菜菜程序员啥也不会,老板让你带带他,你们共同完成一个任务,共同维护了一个仓库,你写的代码在Master上,但是你不想让菜菜直接修改你的代码,那么你就让他的代码上传到branch上,你再选择菜菜写的好的代码进行合并。

4.协作开发:

Git支持多人在同一个项目上进行并行开发。它允许开发人员将自己的修改推送到共享的远程仓库,并从其他开发人员那里拉取最新的修改。这种分布式的协作方式使得团队成员可以独立工作,而不会互相干扰或冲突。

如果你带的菜菜已经有实力了,可以直接修改Master了,如果你和菜菜共同维护Master,但是你和菜菜同时修改了同一个文件,能不能提交成功呢?如果你们修改的是同一文件不同部分,那么git可以自动合并,这个时候合并时无冲突的;如果你们修改了同一部分,那么git不粘锅就将文件标记为冲突,就要请你们共同协商一下,手动合并了。

git安装

本文只讲windows电脑的安装,其他系统请自行百度。git官网链接直达

进入官网后找到Downloads,在新界面中点击Windows,选择稳定版本进行安装,64位和32位主要是指寄存器的宽度,64位电脑可以安装32位软件,但32位电脑无法安装64位软件。打开电脑设置,关于,设备规格中可以看到系统类型,目前大多数都是64位的。我们选择64位稳定版本进行安装。

安装之后,在文件夹中右键,看到git bash here,低级出现命令行界面,即为安装成功。

git使用
创建远程仓库

首先在远端(以github为例)新建一个仓库(repository),下图所示,填写仓库名和描述即可,其他部分不做修改。

创建本地仓库

在本地创建一个仓库,选择一个文件夹,然后打开git,输入git init,如下,我们可以看到变化,首先新建了一个仓库在本文件夹下面,其次我们所属的分支是master。

git上户

我们的git是分布式版本控制,每一个机器都必须上户,不然就是“黑户”,在git命令行中输入下面的指令。

$ git config --global user.name "huahai2022(替换成你的github名字)"
$ git config --global user.email "zhangzhilong2022@gamil.com(替换成你的注册邮箱)"

其中–global就是告诉这个机器上的所有git仓库都使用这个名字和邮箱。

git连接远程仓库
$ git remote add ml <仓库url,我的是https://github.com/huahai2022/mechine-learning>

将本地仓库与GitHub远程仓库关联:运行命令 git remote add origin <GitHub仓库URL>,将 <GitHub仓库URL> 替换为你的GitHub仓库的URL。这将在本地仓库中添加一个远程仓库的别名为 “ml”。

修改主分支为main

在我们本地git中,使用master作为主分支,但是在github中,自某年修改后,使用main作为主分支,所以,我们需要将master和main保持一致,我们可以直接将master分支修改名称为main。这个时候我们可以看到我们的后缀就是main。

git branch -m master main
git拉取文件

这个时候因为我们的github中有默认初始的文件.gitignore,所以我们需要先把它pull下来,再push推送文章。使用下面的指令将远程仓库中的main给下载下来。

$ git pull ml main

这个时候会报错,看到“拒绝合并不相关的历史”,这是因为我们本地的main和远程的main还没有交集,还不认识。加上–allow-unrelated-histories参数即可。

$ git pull ml main --allow-unrelated-histories

后面会弹出一个vim界面,先按ESC键,然后输入”:q!”即可。这样远程仓库的文件就成功被拉了下来。

git提交文件

我们要为远程的仓库添加一个README.md,这个时候我们在本地仓库新建一个README.md。你如果问我README.md怎么创建?好问题,先创建README.txt,然后修改后缀txt为md(如果你有更好地方法,评论区告诉我)。然后再README.md中随便添加一些文字即可。

下一步使用下面指令,将文件添加到你的仓库中。

$ git add README.md

之后使用下面指令对本次提交文件进行描述,这也是我们回滚的一个依据。

$ git commit -m "最初始的README.md"

我们已经完成了文件的添加和说明,接下来就是将文件推送到远程仓库的master分支,使用下面的指令。

$ git push -u ml main
总结

1.新建远程和本地仓库

2.git上户

3.远程本地仓库互联

4.git 拉取文件

5.git 提交文件

Share