Git的安装以及配置

1.* Git的安装

下载地址:官网

Git的安装,网络上一找一大堆,所以这里笔者就简单将百度经验搬过来进行相关的简单介绍,大家熟悉一下步骤也就是了。

1.双击既打开安装设置界面,然后点击Next:

image

2.配置安装组件,默认即可,点击Next,默认已经都帮我们勾选上了。包括创建桌面快捷方式、Git Bash、Git GUI、已经目录和后缀关联等:

image

3.在Adjusting your PATH environment选项中,默认即可,点击Next,这个步骤最好选择第二项Use Git from the Windows Command Prompt,这样在Windows的命令行cmd中也可以运行Git命令了。这样会对以后的一些操作带来方便:

image

4.配置行结束标记,保持默认Checkout Windows-style, commit Unix-style line endings:

image

5.在终端模拟器选择页面,默认选择即可,配置后Git Gash的终端比较易用,然后点击Next:

image

6.最后配置Git额外选择默认即可。然后点击Install开始安装。如果之前安装过旧版本,会先卸载然后再安装新版本:

image

7.安装完成,默认点Finish即可。这样会在浏览器打开新版本的信息。

8.安装后的检验

安装完成之后,如果在桌面右键出现下图,则说明安装成功:

image

然后打开Git Bash Here:

image

注意:在哪里点击,打开的窗口就会自动定位到哪里,比如我们在Git的本地仓库中选择Git Bash Here,然后小窗口就会自动定位到相关的目录下。

输入命令:git version,显示版本号如下,说明成功安装了Git。

image

1.* Git的配置

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置。下面我们就通过相关的截图来介绍:

image

配置使用者信息:

配置用户名:

点击查看代码
git config --global user.name xxx

配置邮箱:

点击查看代码
git config --global user.email xxx@qq.com

local、global、system三种级别:

  • local当前项目有效(工作目录/.git/config)
  • global当前用户有效(用户目录/.gitconfig)
  • system所有用户有效(git目录/etc/gitconfig)

Git相关操作

1.* 创建版本库

上面我们已经介绍了相关的Git的安装,以及一些简单的配置,现在我们来介绍一下如何创建版本库:

命令:

点击查看代码
git init

该命令将创建一个名为.git的子目录,这个子目录含有你初始化的Git仓库中所有的必须文件,这些文件是Git仓库的骨干。但是在这个时候,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。

注意:使用创建版本库的命令git init的时候,首先要保证git的客户端已经在本地仓库的目录下了。

如果Git客户端不在本地仓库的目录下,那么可以使用如下图的命令到达本地仓库目录下:

点击查看代码
cd g:/gitRepository

有两种取得Git项目版本库的方法:

第一种是在现有项目或目录下导入所有文件到Git中;

第二种是从一个服务器克隆一个现有的Git仓库。

我们先说一下在本地创建git项目版本库,什么是版本库呢?

前面介绍过,版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。默认处于master分支,HEAD指针指向master分支。

1.* 把文件添加到仓库

注意:把文件添加到仓库的前提是,在本地仓库中需要有文件,如果没有文件的话是没有办法添加的。

在本地仓库添加本地文件的办法,我们最显而易见的就是右键,然后点击新建文件,当然如果嫌弃麻烦的话,我们也可以使用下面的命令进行创建。

命令:

点击查看代码
touch filename

1.* 把文件添加到仓库暂存区中

命令:

点击查看代码
git add filename  #将某一个文件添加到本地仓库的暂存区中
git add .  #将所有的文件添加到本地仓库中

演示如下:

首先我们在本地仓库中创建了三个文件:first.txt、second.txt、third.txt。

进行相关的操作:

image

注意:通过git add命令来把文件添加到仓库,实现对指定文件的跟踪执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。

1.* 把文件提交到本地仓库中

命令:

点击查看代码
git commit -m "本次修改的简介"

演示如下:

image

简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。

git commit命令执行成功后会告诉你,多少个文件被改动(我们新添加的文件),插入了多少行内容。

为什么Git添加文件需要add,commit两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件。

1.* 查看仓库状态

命令:

点击查看代码
git status

演示:

image

image

git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,哪些文件被修改过了,但还没有提交。

Changes to be committed就说明是已暂存状态。

Changes not staged for commit说明还没有放到暂存区,需要运行git add命令。

1.* 查看文件修改内容

当我们文件提交之后,想要查看一下提交后工作区和版本库里面最新版本的区别,可以执行命令git diff:

点击查看代码
Administrator@DESKTOP-LVAMVKF MINGW64 /e/repository/chih-ping.gitlab.io (master)
$ git diff
FETCH_HEAD      HEAD            master          origin/HEAD     origin/master
Administrator@DESKTOP-LVAMVKF MINGW64 /e/repository/chih-ping.gitlab.io (master)
$ git diff HEAD source/_posts/Git错误集锦.md
diff --git "a/source/_posts/Git\351\224\231\350\257\257\351\233\206\351\224\246.md" "b/source/_posts/Git\351\224\231\350\257\257\351\233\206\351\224\
index 712808b..6035ae7 100644
--- "a/source/_posts/Git\351\224\231\350\257\257\351\233\206\351\224\246.md"
+++ "b/source/_posts/Git\351\224\231\350\257\257\351\233\206\351\224\246.md"
@@ -44,4 +44,13 @@ git config –list
.......[此处内容省略]
+# 文件名称过长报错
+当拉取项目、执行git add命令或者想要将项目push上去的时候,出现如下报错:
+....
+Filename too long
+....
+原因是:Git在Windows下的文件名长度最大是260,Git在Linux下最大支持4096长度的文件名,可以通过输入以下命令解决:
+....
+....
> Cease to struggle and you cease to live.

备注:提交后,HEAD表示当前的工作区,按照上面的命令,可以查看文件在工作区和版本库里面最新版本的区别,并且将区别罗列出来。比如:前面带+表示添加了一行,带-表示删除了一行。

1.* 比对版本

操作步骤:

1.首先在test.txt上面添加第一行如下:

点击查看代码
first commit!

2.然后添加并且提交文件:

点击查看代码
$ git add test.txt
$ git commit -m "first commit"
[master 60b8748] first commit
...

3.修改,添加第二行,重新添加提交:

点击查看代码
second commit!

将添加的内容放到暂存区:

点击查看代码
$ git add test.txt
$ git commit -m "second commit"
[master cc8f7b1] second commit
...

4.使用版本比对命令发现没有效果显示,然后再把第二行删除掉,没有add,直接进行版本比对,发现有效果比对:

image

这说明了,版本比对不能比对已经提交的,只有未提交的,并且经过修改的才会比对出版本的不同之处。

因此,git diff顾名思义就是查看difference,显示具体哪些行发生了改变知道了对文件作了什么修改后,再把它提交到仓库就放心多了。

1.* 查看日志

命令:

点击查看代码
git log

在实际工作中,我们脑子里肯定记不住一个几千行的文件每次都改了什么内容,不然不用版本控制系统了。git log命令显示从最近到最远的提交日志,版本号commit id是十六进制唯一标识,避免冲突。

1.* 版本回退

命令:

点击查看代码
git reset --hard commit_id

演示:

1.创建两个文件,然后使用git add命令将两个文件都添加到仓库中,然后将之提交,产生一次commit_id;

image

2.删除其中的one.txt,提交操作,产生一个commit_id;

image

3.查看日志,回归到删除前的操作。

image

进行相关步骤的操作的时候要关注下图的变化:

image

我们可以发现one.txt首先是没有了,经过git reset –hard commit_id可以发现one.txt又出现了。这就是版本回退,回退到该版本提交后的状态。

注意:HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。回退前,用git log可以查看提交历史,以便确定要回退到哪个版本。

1.* 查看命令历史

当你已经回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本,找不到新版本的commit id怎么办?要重回回退之前的版本,我们可以用git reflog查看命令历史,包括commit id,以便确定要回退到未来的哪个版本。

命令:

点击查看代码
git reflog

演示如下:

image

1.* 撤销修改

Git撤销修改,有两种方式:

命令:

点击查看代码
git checkout -- file

git checkout — test.txt意思就是,把test.txt文件在工作区的修改全部撤销,这里有两种情况:

  • 一种是test.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和仓库一模一样的状态
  • 一种是test.txt已经添加到暂存区后,又作了修改,现在,撤销修改就会回到添加到暂存区后的状态,总之,就是让这个文件回到最近一次git commit或git add时的状态

命令:

点击查看代码
git reset HEAD file

用命令git reset HEAD file可以把暂存区的修改撤销掉,重新放回工作区。

总结:

  • 场景一:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout — file
  • 场景二:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作

1.* 删除文件和恢复误删

删除文件:从工作区,也就是我们电脑中的本地工作区文件目录下将test.txt删除了,但是这时候我们发现我们删除错了,那么要怎么办?

演示:删除two.txt文件

恢复误删:

点击查看代码
$ git status
$ git checkout -- two.txt

这时候我们会发现,本地被我们删除的文件又回来了。

总结:通常如果直接在文件管理器中把文件删了git status命令会立刻告诉你哪些文件被删除了。如果你确实要从仓库中删除该文件,那就用命令git rm删掉,并且git commit。另一种情况是本地文件管理器删错了,因为仓库里还有,所以可以很轻松地把误删的文件恢复到最新版本。

git checkout — file其实是用仓库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

1.* 删除仓库中的文件

命令:

点击查看代码

git rm file

原文地址:http://www.cnblogs.com/hzhiping/p/16909640.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性