Git入门学习教程

Git学习

文章目录

  • Git学习
  • 1.简介
  • 2.工作流程图
  • 3.安装
    • 3.1 常用指令
  • 4.环境配置
    • 4.1 查看配置
    • 4.2 配置用户名(必须)和邮箱
  • 5.创建仓库
  • 6.基础操作指令
    • 6.1 查看状态(status)
    • 6.2 添加工作区到暂存区(add)
    • 6.3 提交暂存区到本地仓库(commit)
    • 6.4 查看提交日志(log)
    • 6.5 版本回退(reset)
    • 6.6 删除文件(rm)
  • 7.分支
    • 7.1 查看分支
    • 7.2 创建分支
    • 7.3 切换分支
    • 7.4 合并分支
    • 7.5 删除分支
  • 8.解决冲突
  • 9.远程仓库Github
    • 9.1 注册Github
    • 9.2 创建远程仓库
    • 9.3 配置SSH公钥
    • 9.4 操作远程仓库
      • 9.4.1 添加远程仓库
      • 9.4.2 查看远程仓库
      • 9.4.3 推送到远程仓库
    • 9.5 从远程仓库克隆
    • 9.6 从远程仓库中抓取和拉取
      • 9.6.1 抓取
      • 9.6.2 拉取
  • 遇到的问题:右键无法打开Bit Bash

1.简介

Git 是一个开源的分布式版本控制系统(Distributed Version Control System,简称 DVCS),用于敏捷高效地处理任何或小或大的项目。

2.工作流程图

工作流程图
使用的命令如下:

  1. clone(克隆): 从远程仓库中克隆代码到本地仓库。
  2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订。
  3. add(添加): 在提交前先将代码提交到暂存区。
  4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本。
  5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
  6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于fetch+merge。
  7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库。

3.安装

下载地址: https://git-scm.com/download

Git入门学习教程_第1张图片

下载完成可以得到如下安装文件:

在这里插入图片描述

双击打开按步骤安装即可。安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到下面两个菜单则说明Git安装成功。

Git入门学习教程_第2张图片

Git GUI:Git提供的图形界面工具

Git Bash:Git提供的命令行工具

3.1 常用指令

在Git Bash中,我们会用到一些基本的linux命令:

  • ls:查看当前目录
  • cat:查看文件内容
  • touch:创建文件
  • vi/vim file:编辑文件

4.环境配置

4.1 查看配置

//查看所有配置
git config -l
//查看系统配置
git config --system --list
//查看用户自己配置
git config --global --list

Git入门学习教程_第3张图片

系统文件配置文件位置如下(因为之前我改过路径,这里的http.sslCAInfo是不对的,改为D:/Download/Git/mingw64/ssl/certs/ca-bundle.crt

Git入门学习教程_第4张图片

4.2 配置用户名(必须)和邮箱

//配置用户名
git config --global user.name  "Kint"
//配置邮箱
git config --global user.email "[email protected]"

用户配置文件位置如下:

Git入门学习教程_第5张图片

5.创建仓库

创建仓库的步骤如下:

  1. 新创建一个空文件夹(例如test),作为本地的Git仓库
  2. 进入该文件夹,右键打开Git Bash窗口
  3. 执行指令git init
  4. 如果创建成功后可在文件夹下看到隐藏的.git目录(Windows下勾选显示隐藏的项目即可看到)

在这里插入图片描述

Git入门学习教程_第6张图片

6.基础操作指令

Git工作目录下对于文件的修改(增加、删除、更新)会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。

Git入门学习教程_第7张图片

6.1 查看状态(status)

  • 作用:查看的修改的状态(暂存区、工作区)
  • 指令:git status

这里新创建了一个file01.txt的文件,使用指令git status查看,现在file01.txt是未跟踪的文件,提示我们可以用指令git add跟踪该文件,即将文件放入暂存区。

Git入门学习教程_第8张图片

6.2 添加工作区到暂存区(add)

  • 作用:添加工作区一个或多个文件的修改到暂存区
  • 指令:git add 单个文件名|通配符(一般常用指令git add .,将所有的改动加入暂存区)

现在我们用git add .指令将file01.txt文件放入暂存区,现在可以看到文件是即将提交的状态,即将存入我们创建好的仓库中。

Git入门学习教程_第9张图片

6.3 提交暂存区到本地仓库(commit)

  • 作用:提交暂存区内容到本地仓库的当前分支
  • 指令:git commit -m ‘注释内容’

使用指令git commit -m 'add file01'将文件存入仓库中。

Git入门学习教程_第10张图片

6.4 查看提交日志(log)

  • 作用:查看提交记录
  • 指令:git log [options]
    • options参数:
      • –all:显示所有分支
      • –oneline:将提交信息显示为一行
      • –abbrev-commit:使得输出的commitId更简短
      • –graph:以图的形式显示,查看历史中什么时候出现了分支、合并

查看我们的操作记录,git log --graph在每条记录前面有*符号,当操作记录和分支数量很多的时候,该指令可以让操作者更直观看到仓库的变化。

Git入门学习教程_第11张图片

6.5 版本回退(reset)

  • 作用:版本切换
  • 指令:git reset --hard commitID(commitID 可以使用git log指令查看)

现在我们新创建文件file02.txt,并提交到我们的仓库中,此时我们的仓库中存在file01.txtfile02.txt两个文件。可以看到这时我们有两条提交记录,前面就是提交的编号,我们可以根据这个编号回退到我们之前的版本。比如这里我们想回到只有file01.txt文件的版本。

Git入门学习教程_第12张图片

我们输入git reset --hard 86d8f8e指令,此时我们就只有add file01的提交记录,没有add file02的提交记录,仓库中也没有file02.txt,说明我们成功回到了只有file01.txt的版本。

Git入门学习教程_第13张图片
在这里插入图片描述

如果这时候我们想回到add file02的版本,但是我们记不住提交编号,我们可以通过git reflog指令查看所有的提交记录。

Git入门学习教程_第14张图片

找到提交编号后,我们就可以回滚到有file01.txtfile02.txt版本的仓库。

Git入门学习教程_第15张图片
Git入门学习教程_第16张图片

6.6 删除文件(rm)

  • git rm -f file:将文件从暂存区和工作区中删除
  • git rm --cached file:把文件从暂存区域移除,但仍然保留在当前工作区中

如果只是新创建test.txt文件而没有提交至暂存区,git rm test.txt指令不生效。

Git入门学习教程_第17张图片

文件提交至暂存区后,git rm test.txt指令仍不生效,但此时我们可以根据提示修改指令,-f即强制删除暂存区和工作区的文件,--cached则是删除在暂存区的文件而保留工作区的文件。

Git入门学习教程_第18张图片

7.分支

几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的Bug修改、开发新的功能,以免影响开发主线。

7.1 查看分支

  • git branch

目前我们只有一个master分支。

在这里插入图片描述

7.2 创建分支

  • git branch 分支名

创建新分支dev01

Git入门学习教程_第19张图片

7.3 切换分支

  • git checkout 分支名
  • git checkout -b 分支名(创建并切换分支)

成功切换至dev01分支。

Git入门学习教程_第20张图片

7.4 合并分支

  • git merge 合并分支名

我们在dev01分支上创建了file03.txt,并提交至仓库中。此时master分支仓库中没有file03.txt。我们的目的是想要master分支中也有file03.txt

Git入门学习教程_第21张图片

我们先切换到master分支,执行git merge dev01指令就可以合并两个分支。

Git入门学习教程_第22张图片

7.5 删除分支

  • git branch -d 分支名(删除分支时,需要检查)
  • git branch -D 分支名(不做检查,强制删除)

合并完成后,我们将dev01分支删除,此时就只剩下了master分支。

Git入门学习教程_第23张图片

8.解决冲突

当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:

  1. 处理文件中冲突的地方
  2. 将解决完冲突的文件加入暂存区(add)
  3. 提交到仓库(commit)

比如此时master分支有3个文件,我们先创建并切换至dev01分支。

Git入门学习教程_第24张图片

dev01分支中,我们修改file01.txt的内容,让count=1。(用vim编辑文本时,先按i键进入编辑模式,修改完成后按Esc:,最后输入wq指令保存退出)

Git入门学习教程_第25张图片

然后将修改后的文件上传至仓库中。

Git入门学习教程_第26张图片

切换回master分支,修改file01.txt的内容,让count=2,然后上传至对应仓库中。

Git入门学习教程_第27张图片

当我们尝试合并两个分支时,会提示我们产生了冲突。查看file01.txt内容,其中count=2master分支修改的内容,count=1dev01分支修改的内容,我们需要手动处理产生冲突的地方。

Git入门学习教程_第28张图片

我们可以修改成想要的效果,在这里我设置count=3。

Git入门学习教程_第29张图片
在这里插入图片描述

成功解决冲突,最后提交文件至仓库,就可以完成合并分支的操作。

Git入门学习教程_第30张图片

9.远程仓库Github

9.1 注册Github

地址:https://github.com/

9.2 创建远程仓库

Git入门学习教程_第31张图片

仓库创建完成后可以看到仓库地址,如下图所示:

Git入门学习教程_第32张图片

9.3 配置SSH公钥

  • 生成SSH公钥:ssh-keygen -t rsa -C “登陆GitHub的邮箱”(不断回车,如果公钥已经存在,则自动覆盖)

Git入门学习教程_第33张图片

  • 获取公钥:cat ~/.ssh/id_rsa.pub
  • 在Github上设置SSH

Git入门学习教程_第34张图片

设置成功如下:

Git入门学习教程_第35张图片

在这里插入图片描述

9.4 操作远程仓库

9.4.1 添加远程仓库

此操作是先初始化本地库,然后与已创建的远程库进行对接。

  • 命令:git remote add <远端名称> <仓库路径>
    • 远端名称,默认是origin,取决于远端服务器设置
    • 仓库路径,从远端服务器获取此URL(选择SSH)
    • 例如: git remote add origin [email protected]:LenkyAndrews/git_test.git

在这里插入图片描述

9.4.2 查看远程仓库

  • 命令:git remote

在这里插入图片描述

9.4.3 推送到远程仓库

  • 命令:git push [远端名称] [本地分支名]
    • 例如:git push origin master

将本地的master分支仓库上传至远程仓库中。

Git入门学习教程_第36张图片

查询远程仓库可以看到对应的文件。

Git入门学习教程_第37张图片

9.5 从远程仓库克隆

如果已经有一个远端仓库,我们可以直接clone到本地。

  • 命令:git clone <仓库路径>

例如,我们新创建一个clone的文件夹,在里面右键打开Git Bash,输入指令git clone [email protected]:LenkyAndrews/git_test.git

Git入门学习教程_第38张图片

可以看到,已经成功将远端仓库的文件克隆到本地。

9.6 从远程仓库中抓取和拉取

9.6.1 抓取

命令:git fetch [远端名称] [分支名称]

抓取指令就是将仓库里的更新都抓取到本地,不进行合并。比如操作者A新创建文件file04.txt,然后提交到远程仓库中。

Git入门学习教程_第39张图片

Git入门学习教程_第40张图片

Git入门学习教程_第41张图片

然后操作者B本地的仓库没有更新,此时他要抓取远端仓库的更新到本地。抓取后查看记录此时本地仓库并没有file04.txt文件,故要进行合并分支操作。

Git入门学习教程_第42张图片

通过git status指令可以查看当前的状态,合并分支后可以看到本地仓库中已有file04.txt文件。

Git入门学习教程_第43张图片

9.6.2 拉取

命令:git pull [远端名称] [分支名称]

将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge。

比如操作者A又添加了file05.txt文件到远端仓库中。

Git入门学习教程_第44张图片

操作者B想要更新本地仓库,直接使用pull指令即可完成更新。

Git入门学习教程_第45张图片

遇到的问题:右键无法打开Bit Bash

问题:右键无法打开Bit Bash,显示找不到应用程序。

Git入门学习教程_第46张图片
Git入门学习教程_第47张图片

解决办法:

  1. win+r 快捷键打开运行,输入regedit,打开注册表。

Git入门学习教程_第48张图片

  1. HKEY_CLASSES_ROOT\Directory\Background\shell这个目录下找到git_guigit_shell两个文件夹,git_gui对应的就是右键菜单中的“Git GUI here" ,git_shell对应右键菜单中的"Git Bash here"。

Git入门学习教程_第49张图片

  1. 点击文件夹,在右侧可以看到当前路径有误,需要修改。Git入门学习教程_第50张图片

  2. 双击Icon,修改路径,这里我是删除一个Git/

Git入门学习教程_第51张图片

  1. 点击command文件夹,双击右侧的默认,修改路径。

Git入门学习教程_第52张图片

  1. 修改完毕后关闭注册表。

现在右键可以正常打开Git了。

Git入门学习教程_第53张图片

你可能感兴趣的:(项目开发,git,github)