一、安装Git

可以使用以下地址下载Git,然后默认选项安装即可

Git for Windows

本地git仓库不识别文件夹 git本地仓库在哪里_python

https://git-for-windows.github.io 安装完成后,在开始菜单找到“Git”->"GIt BAsh" ,说明安装成功

本地git仓库不识别文件夹 git本地仓库在哪里_后端_02

 下载完成后,打开进行安装(按照下图进行配置)

本地git仓库不识别文件夹 git本地仓库在哪里_本地git仓库不识别文件夹_03

 

本地git仓库不识别文件夹 git本地仓库在哪里_python_04

 只需静静等待安装完成,完成后在桌面或者任意文件夹的空白位置右键,出现下图所示链各个菜单栏即表示安装成功。

本地git仓库不识别文件夹 git本地仓库在哪里_后端_05

二、基本命令行指令

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字email地址

本地git仓库不识别文件夹 git本地仓库在哪里_python_06

git config --global user.name "Your Name"
git config --global user.email "email@example.com"

本地git仓库不识别文件夹 git本地仓库在哪里_开发语言_07

(一)初始化仓库

 在空的目录下,通过使用git init 命令把这个目录变成Git可以管理的仓库

git init

运行成功后,可以放下当前目录下多了一个 .git 的目录 这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了

(二)添加文件到仓库

步骤一:创建一个普通的文本文件

本地git仓库不识别文件夹 git本地仓库在哪里_开发语言_08

步骤二:使用git命令行将文本添加到版本库中

        命令解析: 

第一步:用命令 告诉Git,把文件提交给本地仓库:

git add readme.txt

或者

git add .

执行命令后,没有任何显示,这就对了,Unix的哲学是“没有消息就是最好的消息

第二步:用命令告诉Git 把文件提交到本地仓库

git commit -m "备注"

git commit 命令中,-m 后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,方便自己能从历史记录里找到改动的记录。

执行命令成功后会告诉你,一个文件被改动了(新添加的readme.txt),插入了两行内容(readme.txt有两行内容)。

注意:在执行commit命令之前,都先执行一下add操作,避免有文件遗漏。

(三)查看版本状态

问题:如何查看项目目前的状态?当我们写代码一段时间,用Git管理,中途去趟厕所,然后喝杯咖啡,回来继续工作,不记得之前用Git 干了什么

git status

使用 git log 查看当前git版本库的状态(查看缓存区中的文件内容)

(四)查看日志

git log  
或者
git log --pretty=oneline

git log 命令执行后会显示从最近到最远的提交日志

本地git仓库不识别文件夹 git本地仓库在哪里_后端_09

加上 --pretty=oneline 后 减少输出信息,避免眼花缭乱

本地git仓库不识别文件夹 git本地仓库在哪里_python_10

 为什么 commit id 要使用这么长一串字符而不是数字?

        当两个人同时在一个代码上工作时候,分别往各自的本地的版本库提交时,相同的提交号对应着不同的修改,如果使用1,2,3这样的数字不能保证唯一性,所以Git使用SHA-1算法产生唯一标识符,保证全球唯一 。

(四)查看差异

        如果一个文件知道被人修改了,但如果能看看具体修改了什么内容,自然是更好的 比如你休假两周从国外回来,第一天上班时,已、经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看。

git diff // 查看不同版本之间的文件差异

本地git仓库不识别文件夹 git本地仓库在哪里_开发语言_11

(五)版本回退

        我们不断修改文件,不断的往版本库中提交文件。就好比玩RPG游戏时,每通过一关就会自动把游戏状态存盘,如果某一关没过去,你还可以选择读取前一关的状态。有些时候,在打Boss之前,你会手动存盘,以便万一打Boss失败了,可以从最近的地方重新开始。Git也是一样,每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为 commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit 恢复,然后继续工作,而不是把几个月的工作成果全部丢失。

如果想回到上一个版本,应该怎么做呢? 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

现在,我们要把当前版本回退到上一个版本,就可以使用git reset命令:

git reset --hard HEAD^  # ^:上个版本  ^^:上上个版本 ^^^:上上上个版本

回退指定版本

git reset --hard commit id
# commit id 可以通过查看日志得到

(六)管理修改

操作方式1:

第一次修改 -> git add -> 第二次修改 -> git commit

本地git仓库不识别文件夹 git本地仓库在哪里_后端_12

操作方式2:推荐使用

第一次修改 -> git add -> 第二次修改 -> git add -> git commit

PS:建议在每次 commit 之前先检查是否有文件没有被 add

(七)撤销修改

git checkout -- filename 

git checkout -- readme.txt

git checkout -- filename可以丢弃工作区的修改:-- 后面是一个空格

命令 git checkout -- readme.txt 意思就是,把 readme.txt 文件在工作区的修改全部撤销,这里有两种情况: 一:readme.txt 自修改后还没有被放到暂存区(git add),现在,撤销修改就回到和版本库一模一样的状态; 二:readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次 git commitgit add 时的状态。

注意: git checkout -- file 命令中的 -- 很重要,没有 -- ,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到 git checkout 命令

(八)删除文件

一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:

git rm text.txt

这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

删除完成后需要 commit

如果删除了想恢复,可以使用 reset 版本恢复

本地git仓库不识别文件夹 git本地仓库在哪里_python_13

 (九)分支管理

分支相关命令:

查看分支:git branch

本地git仓库不识别文件夹 git本地仓库在哪里_本地git仓库不识别文件夹_14

 创建分支:git branch <name>

本地git仓库不识别文件夹 git本地仓库在哪里_后端_15

切换分支:git checkout <name>

本地git仓库不识别文件夹 git本地仓库在哪里_后端_16

创建 + 切换分支:git checkout -b <name>

本地git仓库不识别文件夹 git本地仓库在哪里_python_17

将某分支合并到当前分支:git merge <name>

删除分支:git branch -d <name>