提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
之前完成大学期间的第一个项目,故初次接触了git这样的版本管理工具,回想起最初对git一无所知到最终能理解运用其中的部分功能,觉得这个过程可以对像我一样作为小白想要学习git,但面对纷繁复杂的git命令又觉头疼的新手同学一些指引和帮助。
我的系统是macos,与Windows系统除了打开git bash的方式不同之外其余均相同。
本篇文章仅充当学习分享,如有谬误敬请指正。
一、git是什么?
Git是一个分布式版本控制系统,它是用于跟踪代码更改的工具
二、使用教程
我认为第一次成功的推送(push)应有如下的流程:
下载
在这里我就直接给出别的博主的教程了
链接: git下载教程
常用指令及使用策略
就我个人而言,我认为新手想要入门git,只需掌握以下内容
git init以及初始化步骤
在代码托管网站上创建一个属于你的仓库
以gitee为例
点击此处后便进入创建仓库的页面
输入仓库名称便可以创建成功了,推荐设置模版中选择REAME文件
git init
git init
这句代码的含义是在你当前的文件夹内进行git初始化,创建一个git的本地仓库,这样你才能进行下一步的操作。
关于仓库这个概念,我的理解是这样的:
当我们使用git进行版本管理时,可以认为有两个仓库,一个仓库是git init之后,创建在你的电脑本地的仓库,另外一个就是远程仓库,也就是我们常听说的github、gitee等代码托管网站上的仓库。
我们使用git,目的是为了保存我们的代码在修改之后的状态,怎么保存呢?就是把它放到“仓库”里,你既可以选择放在自己的本地仓库里供自己记录版本,也可以推送到(push)远程仓库上与队友或者别人分享。
创建分支
git branch
(base) dukiya@Duki test % git branch
* main
注意:若你们实际操作的时候,发现显示的并不是main,而是master,这是很正常的,之后我会讲到
这句命令会查看当前所在的分支,在版本管理中,分支是很重要的一个概念。
假如你跟小明一起开发一个软件,那么我们就可以说你跟小明各自有一条分支,你俩在各自的支线上完成自己的任务。在这里为方便演示,我将使用常见的main分支,你可以把它理解为你和小明一起交代码的一条分支。
在上面的代码块里我提到,“若你们实际操作的时候,发现显示的并不是main,而是master,这是很正常的,之后我会讲到”,其实这是因为,刚初始化好的git仓库,通常只有一个master分支,所以你的命令行里可能是这样显示的:
(base) dukiya@Duki test % git branch
* master
这时,只需要你手动地创建一个main分支即可
(base) dukiya@Duki test % git checkout -b main
Switched to a new branch 'main'
这个命令会在你的本地仓库上创建一个main分支并切换到上面。
有的同学可能会疑惑,有必要费劲周折建一个main分支吗?我就用原来的master分支不行吗?这当然是可以的,只是如我之前所说,我希望用main分支来进行演示,故进行了以上操作。
提交更改到本地仓库
git add
git add {你想要保存到仓库的文件名}
例如:
git add . 预备保存当前文件夹所有文件
git add test.txt 预备保存当前文件夹里的test.txt文件
git commit
git commit -m "你对这次提交的评价、补充"
例如:
git commit -m "这是我的第一次提交"
git add,git commit之后,文件就被正式保存到我们的本地仓库了。
这个时候有的同学可能就弄不明白了,git commit之前为什么非得git add一下呢?接下来我会给大家讲讲如何理解git add和git commit。
可以这样假设:
我们手里有一把手枪,桌上有白色的子弹,有黄色的子弹,有黑色的子弹等等。
要想开枪发射一颗子弹,应遵循这样的步骤:装入子弹并上膛->扣动扳机,发射。
那么,类比到git中,便可这样理解:
git add就是装入子弹的过程,git add后的文件名,便是你要装入的子弹,你可以选择装全部的子弹(.),也可以装某一个颜色的子弹,也可以装多个颜色的子弹,这只取决于你git add后面放了哪些文件名
而git commit,则是扣动扳机的过程,只不过在git中,推送文件到本地需要提交一个commit,来解释你这次提交是为什么,你可以写下你这次提交中的改动或是一些提醒事项。注意,git commit后面应该要加-m。
推送到远程仓库
以上两个命令实现了将文件推送到本地的仓库,但是,如果这时你兴冲冲地打开自己gitee网站上的仓库,会发现什么也没改变,这是因为,你还没有“push”。
但是,在push之前,你应该将你本地的仓库与远程的仓库建立连接,否则两个仓库互相不认识,又怎么能互相推送和拉取内容呢。
git remote add origin
git remote add origin https://github.com/username/repository.git
运行以上命令,便让你gitee上的仓库与你的本地仓库关联了起来。
注意,add origin + 仓库地址这一步可以理解为将你的仓库地址( https://github.com/username/repository.git)起了个名叫做origin 以后就用origin来指代你的仓库
(base) dukiya@Duki test % git remote -v
origin https://gitee.com/dukiya/test.git (fetch)
origin https://gitee.com/dukiya/test.git (push)
在这之后,你可以git remote -v 来查看你关联上的远程仓库地址(比如我就关联上了自己的test仓库)。
git push
git push -u origin main
这个命令是说,你要将刚刚推到本地仓库中的更改,也推送到远程仓库上的“main”分支上去,并且,远程仓库会自动地帮你创建一个main分支,在这之后就只用git push便可以了。
经过刚刚git remote add部分的讲解,你应该就能理解这句命令的含义了:将你本地仓库的“main”分支上的内容“push”到你远程的“origin”仓库里。
注意,这个地方有个东西似曾相识,“main”分支,还记得之前我在本地仓库里创建的那个分支是什么吗?也是main分支。需要注意的是,这里需要将本地仓库的分支与远程仓库的分支对应上,比如你现在在本地仓库上处于main分支,那么就应该也推送到远程仓库的main分支上。
git pull
git pull
这个命令的意思是,你将拉取远程仓库上的更改到本地。但是在实际操作中常常会有合并冲突,故我一般都是利用IDE自带的git功能进行合并冲突。
什么是冲突呢?很简单,你跟小明对同一个文件进行了修改,你把它推送到了远端,他也把它推送到了远端,那么下一次拉取的时候,本地仓库就会让你进行选择,是想要你的修改还是小明的修改,还是说二者综合,这需要你手动来完成。
如图所示,即为IDEA自带的git操作栏。文章来源:https://www.toymoban.com/news/detail-764851.html
整体演示
(base) dukiya@Duki 未命名文件夹 % ls
test
(base) dukiya@Duki 未命名文件夹 % cd test
(base) dukiya@Duki test % git init
Initialized empty Git repository in /Users/dukiya/Desktop/未命名文件夹/test/.git/
(base) dukiya@Duki test % git remote add origin https://gitee.com/dukiya/test.git
(base) dukiya@Duki test % git remote -v
origin https://gitee.com/dukiya/test.git (fetch)
origin https://gitee.com/dukiya/test.git (push)
(base) dukiya@Duki test % git checkout -b main
Switched to a new branch 'main'
(base) dukiya@Duki test % touch test.txt
(base) dukiya@Duki test % git add test.txt
(base) dukiya@Duki test % git commit -m "test"
[main (root-commit) 9a084e9] test
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test.txt
(base) dukiya@Duki test % git push -u origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 202 bytes | 202.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
remote: Create a pull request for 'main' on Gitee by visiting:
remote: https://gitee.com/dukiya/test/pull/new/dukiya:main...dukiya:master
To https://gitee.com/dukiya/test.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
(base) dukiya@Duki test % git branch
* main
(base) dukiya@Duki test % git chekout -b master
git: 'chekout' is not a git command. See 'git --help'.
The most similar command is
checkout
总结
以上就是今天要讲的内容。本文简单介绍了 Git 的使用教程,从最基础的 git init 到推送更改到远程仓库的操作。Git 为我们提供了高效的版本管理方式,通过简单的命令和步骤,我们能够更好地协同工作和记录代码的变化。希望这篇教程能够帮助初学者更轻松地掌握 Git 的基本操作。文章来源地址https://www.toymoban.com/news/detail-764851.html
到了这里,关于小白如何快速掌握git的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!