详细的Git使用教程

简介: Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目版本管理。

详细的Git使用教程


前言

本文介绍了Git学习的基础内容

一、Git是什么?

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目版本管理。

Git 是 Linus Torvalds为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

二、Git工作区、暂存区、Git 仓库

  • git工作区

工作区是对项目的某个版本独立提取出来的内容。就是你在电脑里能看到的目录。

  • 暂存区(stage)

暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库目录中。 按照 Git的术语叫做“索引”,不过一般说法还是叫“暂存区”。

  • gti仓库

Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,复制的就是这里的数据。

三、Git的使用

1.安装

下载地址:git下载

image.png

双击开始安装,一直点击next完成安装,鼠标右击桌面出现如下就安装完成了

image.png

2.设置用户信息

安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:

$ git config --global user.name "yourname"
$ git config --global user.email "123456789@qq.com"

配置完成后可以使用以下命令查看

$ git config --list

3.创建版本库

$ mkdir mygit
$ cd mygit    //切换到新建的文件夹下
#初始化仓库
$ git init

之后在该目录下会出现一个.git文件夹,这个是Git来跟踪管理版本库的。

4.git基本操作

1. 创建一个文件

$ touch test.txt

2. 将文件添加到缓存区

$ git add test.txt

3. 将文件提交到仓库

//引号里面本次提交的说明
$ git commit -m "first commit"

4. 查看当前状态

//查看当前版本状态
$ git status

5. 查看历史记录

//git log显示你所的提交日志
$ git log

6. 回退历史版本

$ git reset

HEAD 表示当前版本,而 HEAD~ 表示 HEAD 的上一个版本,HEAD~~则是上上个版本,如果表示上10个版本,则可以用HEAD~10来表示

$ git reset --hard HEAD~

–hard : 回退版本库、暂存区、工作区。(这里是回到初始状态,所以修改过的也就没了)

–mixed: 回退版本库、暂存区。(mixed为git reset的默认参数)

–soft: 回退版本库。

7. 查看历史命令(版本号)

$ git reflog
d9d27d4 (HEAD -> master) HEAD@{0}: reset: moving to HEAD
d9d27d4 (HEAD -> master) HEAD@{1}: commit (initial): first commit

8. 版本对比

在已经存在的文件中添加内容

$ git diff
warning: LF will be replaced by CRLF in a.txt.
The file will have its original line endings in your working directory
diff --git a/a.txt b/a.txt    //表示对比的是存放在暂存区域和工作目录的a.txt
index e69de29..190a180 100644   //表示对应文件的版本号
--- a/a.txt   //表示该文件是旧文件
+++ b/a.txt   //表示该文件是新文件
@@ -0,0 +1 @@
+123   //表示新添加的内容

9. 撤销修改

$ git checkout -- README.md

就是把没暂存的干掉,或者说,丢弃工作区,回到到暂存状态。

10.删除文件

$ git rm a.txt
rm 'a.txt'

11.重命名文件

git mv 旧文件名 新文件名

$ git mv b.txt c.txt

5.git分支管理

1.分支的创建与切换

git branch 分支名
//创建分支
$ git branch feature1
//查看分支
$ git log
commit 59707b02146659f41e9012bf6623e60dfcae05e4 (HEAD -> master, feature1)
//会看到版本号后面多了个(HEAD -> master, feature1)
//切换分支
$ git checkout feature1
Switched to branch 'feature1'

2. 合并分支

git merge 分支名
//切换分支
19737@LAPTOP-3TQGGV4N MINGW64 /d/Users/19737/Desktop/mymenu/git (master)
$ git checkout feature1
Switched to branch 'feature1'
//查看所有文件
$ ls
123.txt  c.txt  test.txt
//随意修改任意一个文件
//切回主分支
$ git checkout master
Switched to branch 'master'
//合并分支
$ git merge feature1
Updating 59707b0..f2ec55e
Fast-forward
 b.txt => 123.txt | 0
 c.txt            | 1 +
 2 files changed, 1 insertion(+)
 rename b.txt => 123.txt (100%)
 create mode 100644 c.txt

3. 删除分支

git branch -d 分支名
$ git branch -d feature1
Deleted branch feature1 (was f2ec55e).
//如果试图删除未合并的分支,使用下面的命令强制删除
$ git branch -D 分支名

4. 变基

rebase将本地多次的commit合并成一个commit。

// 合并前两次的commit
$ git rebase -i head~~

5. 消除冲突

//新建一个分支
$ git branch feature2
$ git checkout feature2
Switched to branch 'feature2'
//修改test.txt文件
$ vi test.txt
$ git add .
$ git commit -m "feature2"
//切换到master分支
$ git checkout master
Switched to branch 'master'
//同样对test.txt进行修改
$ vi test.txt
$ git add .
$ git commit -m "master"
//合并分支feature2会看到
hello world!
Hello Git!
<<<<<<< HEAD
123
=======
123456789
>>>>>>> feature2
//Git用<<<<<<<  =======  >>>>>>>标记出不同分支的内容
//我们修改之后在提交就可以了
$ git merge feature2
Auto-merging test.txt
Merge made by the 'ort' strategy.
 test.txt | 1 +
 1 file changed, 1 insertion(+)


相关文章
|
6月前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
1117 0
Git教程:深入了解删除分支的命令
|
6月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
104 0
|
6月前
|
安全 开发工具 git
git使用教程
git使用教程
94 0
|
2天前
|
存储 开发工具 git
git工具使用教程全讲解
本文介绍了版本控制的概念及其重要性,详细对比了多种版本控制工具,如VSS、CVS、SVN和Git,重点讲解了Git的基本使用方法、工作原理及与SVN的区别。此外,文章还介绍了GitHub、GitLab和Gitee等流行的代码托管平台,以及如何在这些平台上注册账号、创建和管理仓库。最后,文章还提供了如何在IntelliJ IDEA中配置和使用Git的具体步骤。
17 1
|
1月前
|
编译器 开发工具 数据安全/隐私保护
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
本文提供了一个关于如何在Gitee上进行多人协作和版本控制的详细教程,包括新建和初始化仓库、克隆仓库、邀请好友共同管理仓库以及注意事项,旨在帮助用户顺利进行代码协作开发。
108 0
Git——多人协作/版本控制,在一个gitee仓库下开发(Gitee版教程)手把手教学,包好用的!
|
3月前
|
Linux 开发工具 git
|
4月前
|
数据可视化 程序员 开发工具
小白也能玩转Git:从入门到实战详细教程
小白也能玩转Git:从入门到实战详细教程
|
4月前
|
Ubuntu 开发工具 git
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
git 超实用教程【人人必会!】(含大厂的 git 操作规范)
61 0
|
6月前
|
存储 开发工具 git
|
6月前
|
Ubuntu Linux 开发工具