Git最简单使用教程

本篇博客为git学习笔记,简单粗暴,教程里面还会涉及常见问题的解决。

小前提:如果还不明白github的牛逼,那么请自行搜索引擎。
大前提:不了解,不清楚git使用之前千万不要乱用git,否则很容易犯低级错误!!比如误删代码,代码丢了,代码无法恢复,代码乱成一团等。不要问我怎么知道的

衷心提示:多动手敲,二十分钟就能上手,git的核心就是背命令。


1、安装git。(这个不难,直接按照官网安装就可以了

安装完之后可以得到这样的界面。

随便打开一个文件夹,右键->Git Bash Here,得到下面的界面就表示安装成功。

在这里插入图片描述
说白了,这其实是一个类似于linux系统里面的命令行界面。

在这里插入图片描述
打开常用的vim文本编辑器也是可以的,这里就不放图片了,读者可以自己尝试。

2、给git添加密钥

参考这篇文章

成功的测试结果:

在这里插入图片描述

3、git工作流程(看不懂的下面会有例子)

在这里插入图片描述

  • Working Directory: 代码的工作区目录,简单说就是你写代码的地方,经常使用vscode的同学肯定不陌生。
  • Staging Area: 文件缓冲区。
  • Local Repo: 本地仓库(就是一个代码仓库,存放着很多乱七八糟东西)。
  • Remote Repo: 远程仓库(简单说就是服务器上的仓库,你在github网页上能够看到的文件都是从这拿的)

所以说你的工作区里面的文件有3种状态:

  • 在工作区里面,没有添加到缓冲区。
  • 在缓冲区里面,没有添加到本地仓库。
  • 已经在本地仓库里面了。

所以对应2条命令:

  • git add: 把工作区的文件放到缓冲区里面。
  • git commit: 把缓冲区的文件添加到本地仓库里面。

另外的命令:

  • git push: 把本地仓库的代码放到远程仓库里面,因为所有的人本地代码仓库不一样,但是远程代码仓库是一样的,所以所有人可以通过远程仓库共享代码。
  • git fetch/clone: 把远程仓库的代码拉取到本地仓库,但是不在现在的工作目录上(通常是现在的工作区文件夹里面多出一个文件夹)。
  • git merge: 把本地仓库的代码放到工作区上。
  • git pull: 相当于 git fetch + git merge

4、使用例子感受

随便打开一个文件夹。打开git bash界面,输入下面的命令,就可以完成初始化。

git init  

在这里插入图片描述

.git文件称作版本库,非常重要,千万不要打开编辑。完成初始化之后,git会自动创建master分支,并且把head指向master,这个时候我们就有了本地仓库。关于分支,先不用理解,现在明白有这么一回事就行。

然后我们还需要去github上创建一个远程仓库。

在这里插入图片描述
在这里插入图片描述
接着,我们查看一下远程仓库的地址:

在这里插入图片描述
那么,要知道我们现在的本地仓库和远程仓库是没有联系的,所以需要创造联系。可以使用git remote命令来管理仓库连接。这里我们加一个连接:

git remote add origin https://github.com/202030481266/quan-trade.git(这部分是你的远程仓库的地址)

接下来,我们创建一个文本文件上传到远程仓库。

在本地工作目录上创建一个文本文件(a.txt):

hello world!!

现在的文件的状态是还没有进入缓冲区的,所以下一步就是加入缓冲区:

git status 
git add a.txt

在这里插入图片描述

然后就是把文件添加到本地仓库和远程仓库:

git commit -m 添加a.txt文件
git push origin master

在这里插入图片描述
现在就可以在远程仓库看到刚刚添加的a.txt:

在这里插入图片描述

上面的情况是我们在本地工作目录创建本地仓库,那么如果想从远程仓库获取文件怎么做呢?

比如我在上面添加一个README.md文件。
在这里插入图片描述
一种方法是直接使用git pull命令:

git pull origin master

在这里插入图片描述
另外一种方式就是使用git fetchgit merge,上面已经说过三者之间的关系了。

git fetch
git merge

5、分支管理

实际生产中,多个人协作开发,每个人的开发的代码(比如前后端)都是不一样的,所以实际上每个人最好都是有一个自己的开发空间,但是远程仓库是固定的,那怎么办?一个很优雅的方法就是每一个人都创建自己的分支就行了,上传代码的时候指定上传到自己的分支里面,然后由指定的人负责分支合并。我更加喜欢理解分支为“子项目”,main分支为“主项目”。

一些有关常用的分支的命令(不要看着多,真的很简单,多去敲就熟了):

  • git branch : 查看本地分支
  • git branch -r: 查看远程分支
  • git branch -a: 查看本地和远程分支
  • git checkout branch-name: 切换到分支branch-name
  • git checkout -b branch-name: 创建并切换到新建的分支branch-name
  • git branch -d branch-name 删除branch-name分支
  • git merge branch-name: branch-name分支和当前分支合并
  • git branch --merged: 查看哪些分支已经合并到当前分支
  • git branch --no-merged: 查看哪些分支没有合并到当前分支
  • git branch -m old-name new-name: 重命名分支
  • git push origin -d branch-name: 删除远程仓库里面的分支

使用刚才的例子,可以试试下面的练习:

  1. 查看分支,并且从远程仓库拉取main分支到本地,取名为sb。
    在这里插入图片描述

  2. 查看没有和sb合并的分支,并且使sb分支合并main分支。
    在这里插入图片描述
    应该会有人遇到不允许合并的问题:fatal: refusing to merge unrelated histories,Git认为这两个分支没有历史的联系,所以不允许合并。解决方法就是命令后面加上一个参数就好了:git merge main --allow-unrelated-histories

  3. 切换到其他的分支,修改sb分支名字为gg。
    在这里插入图片描述

  4. 删除分支gg
    在这里插入图片描述

6、回滚操作

git最强大的地方之一,版本控制神奇所在。有的时候你可能不小心改了重要的代码却忘记了在哪,或者上传错了代码,使用回滚可以很简单解决这些问题。

比如还是上面的例子:
在这里插入图片描述
现在撤销提交操作,我发现我添加的内容错了!!
在这里插入图片描述
可以看到回滚的操作分为:

  • 查看日志,找到版本号
  • git reset 版本号

相关常用的命令:

  • git reset: 回滚操作
  • git status: 查看文件状态
  • git reflog: 查看历史操作记录
  • git log: 查看日志

7、其他常用的命令

  • git diff: 展示缓冲区和工作目录的内容差异
  • git diff --cached: 展示最近一次commit内容和缓冲区差异
  • git diff HEAD: 展示工作目录和最近一次commit的内容差异
  • git config: 配置命令
    • git config --global user.name “sb”:全局修改用户名为sb
    • git config list: 列出当前的配置

猜你喜欢

转载自blog.csdn.net/m0_51156601/article/details/127250774