只为极简使用。
创建本地仓库
初始化git仓库
1.创建一个新文件夹
2.在文件夹内打开git bash

之后进入如下界面,输入git init,这样此文件就可以使用git了。

在此文件夹中,除了.git文件外,其他全部都是工作文件。
接下来将以一个名为"my_test1"的txt文件进行讲解。现在实现如下需求:该文件将被修改多次,并且有可能最后还是要回第一版(笑)。
提交文件
提交工作区的全部文件到暂存区。
bash
git add .
将暂存区的文件全部提交到本地仓库,同时添加上注释。
bash
git commit -m"注释"
该指令可以查看我们的提交记录,以及详细信息
bash
git log
版本回退
如果修改多次后,想要回到前面的版本,那么只需要知道想要的版本的commitID即可回退到对应的版本。commitID可以通过git log进行查看
bash
git reset --hard commitID

如果回退到之前的版本后,又想要后面的版本,可以git reflog查看所有的提交记录(包括已经删除)。找到你想要的commitID,然后再用git reset --hard commitID
创建忽略文件
简单理解,这个文件可以帮助我们过滤掉不想要git管理的文件类型
bash
touch .gitignore
在该文件中,添加 " *.想要文件后缀 " 即可。
修改本地仓库文件
文件的修改
在文件夹内,直接修改就行。和正常的使用没区别。
上传修改文件
只需要记得文件修改完记得上传到本地仓库,目的是让git知道你修改了文件。
修改完文件后,当你打开git bash 用git status 查看状态时,会提示你,有文件被修改,提醒你把文件提交到仓库。如果你又不想修改了,那么只需要用 git restore就可以取消修改。

git add .提交到暂存区

使用git commit -m"注释",同时补充上注释

查看状态。OK,大功告成

多线开发:分支
分支的引入
假设现在有两个人,a和b,共同开发一个项目,这个项目总共有两个功能,分别是a和b。于是,a单独负责开发X功能,b单独负责开发Y功能。两个人怎么实现单独开发呢?这就是分支的作用。
分支1,a开发X功能。分支2,b开发Y功能。最后两个人都开发完功能后,分支1和分支2合并为一个分支,于是项目就完成了。所以,多人协助,分支功能是必不可少的。
创建分支
创建分支的指令如下:
bash
git branch "分支名"
这里输入git branch branch01,创建了一个叫"branch01"的分支。

输入git branch,可以查看当前存在的分支。master是默认分支。

此时如果输入git log则可以查看当前所在分支。虽然我们新建了一个名为"branch01"的分支,但是目前我们还是在默认的master分支上。HEAD指向谁,我们就在哪个分支上。
注意 :我们在master分支上创建了branch01分支,其实就是相当于复制了一份一模一样的文件。也就是说,当前,master分支和branch01分支里的内容全部都是一样的。

切换分支
切换分支的指令如下:
bash
git checkout "分支名"
提示成功切换

加强版指令。也是切换分支,这个指令更加方便。
cpp
git checkout -b "分支名" ,切换分支,如果不存在则创建
成功创建并切换到新的branch02分支

git log查看当前所处分支。HEAD指向branch02分支

此时如果在branch02分支上创建一个created_by_branch02.txt文件,然后把该文件提交到本地仓库,那么这个文件只会存在于branch02分支上。其他分支无此文件。

ll查看所在目录的文件

提交至本地仓库

切换回master分支后,无created_by_branch02.txt文件。

分支合并
一般多线开发完成后,需要把所有功能集成到一块,形成最终的工程。我们通常会把其他分支合并到master分支上。
合并分支指令。
bash
git merge "被合并的分支名"
如果现在需要把branch02分支上的文件,合并到master上,如何操作呢?
首先切换到master分支

然后输入指令,git merge "被合并的分支名",即可完成合并分支。

这条指令可以查看图形化后的分支图。
bash
git log --graph --all --oneline --decorate
增加git log指令的参数查看分支图。为了显示效果更加明显,这里我又在branch01分支上提交了文件,但是没有合并。
图中可以看到,master和branch02已经合并到一起,而branch01分支却是单独一路。由此可以看出,分支可以让每个人的分工更加明确。

之后又在master分支上合并branch01分支。然后查看分支图,预估生成的图形应该是最开始一条线,中间分为两条线,最后合并为一条线。OK,预估正确。

常见的分支流程图

远程仓库
以gitee码云为例。
新建远程仓库
先新建一个远程仓库。

查询与远程仓库的连接状态
bash
ssh -T [email protected]

查询目前连接的远程仓库。
bash
git remote

添加远程仓库
bash
git remote add origin "远程仓库的地址"
添加一个远程仓库,名字取为"origin"。
远程仓库的地址可以在此处查到

这个地址就是远程仓库的地址

输入添加远程仓库的指令和地址

使用git remote 查询目前连接的远程仓库

文件上传到远程仓库
上传远程仓库的指令
bash
git push origin master //把master分支上传到远程仓库
指令全称:git push "远端名称" "本地分支名": "远端分支名"
如果本地分支和远端分支名字相同,则可以只写本地分支,像这样。
git push origin master

本地分支绑定远程分支
如果觉得每次上传远程仓库都要输入git push "远端名称" "本地分支名" :"远端分支名" 太麻烦了。
我们可以通过指令把指定的本地分支和远端分支进行绑定,每次只需输入git push即可完成上传远程仓库。
首先使用git branch -vv指令查看下本地分支与远程分支的对应关系。
bash
git branch -vv //可以查看本地分支和远程分支的对应关系
目前没有对应,是这个样子的。

绑定本地分支和远程分支的对应关系
git push --set-upstream ...
bash
git push --set-upstream "远端名称" "本地分支名":"远端分支名"
绑定成功

利用git branch -vv查看下对应关系。由图可知,本地master分支已经成功绑定到远程仓库的master分支。

常用指令和基本操作
复制:直接选中就行,相当于ctrl C。粘贴:按下滚轮,相当于ctrl V。
清空屏幕:clear
查看当前目录下的文件:ll
创建文件:touch "文件名+后缀",如touch my_test.txt,创建一个my_test的txt文件。
更名文件名字
版本回退:git reset --hard commitID
日后补充
bash
git log --pretty=oneline --all --graph --abbrev-commit