一、git的安装
git
是一款源代码管理工具,接下来我们先介绍git
在windows
系统下的安装流程。我们先在github
上搜索git-for-win
,其网页链接为 https://github.com/waylau/git...。由于在国内直接从官网下载Git for Windows
比较困难,需要翻墙,这里提供一个国内的下载站,方便网友下载。我们可以选择最新版本当中的64-bit Git for Windows Setup
的链接进行下载把对应的可执行文件下载到本地(在老版本当中有32
位和64
位可供选择,在最新的几个版本当中不再提供32
位的安装包)。
我们点击这个可执行文件来进行安装,先选择设置安装路径,如D:\Git
。然后全都使用默认选项,一直选择next
来完成安装即可。在完成之后我们可以在D
盘根目录下看到新生成了一个Git
文件夹,在该目录的bin
文件夹下有git.exe
可执行文件。
为了能在任意目录下都能运行这个可执行文件,则我们需要配置环境变量。我们在环境变量的用户变量当中新建一个Git
变量,其值为D:\Git\bin
,然后编辑用户变量的PATH
变量值,在其值后面追加;%Git%;
即可,然后点击确定来关闭窗口。接下去在cmd
当中键入命令-> git --version
若能显示版本号则说明git
安装成功。
二、git的基本命令
git
是一款源代码管理工具,我们使用git
可以帮我们记录源代码的所有变更情况。
1、-> git init
首先我们可以在我们的项目文件夹下键入命令-> git init
来初始化了一个本地的git
仓储。即在我们的项目文件夹下添加了一个.git
的隐藏文件夹,之后会在这个文件夹下记录该项目源代码的所有变更情况。
2、-> git status
在完成git
仓储的初始化之后,在当前项目文件夹下键入命令-> git status
来查看本地仓储的当前状态。如下图所示,我们第一次查看时,罗列了一堆当前目录下没有被跟踪的文件。我们同样可以使用命令-> git status -s
来查看简化版的变更日志。这个命令更常用一些。(列表当中A表示添加,M表示修改,D表示删除。)
3、-> git add
该命令用于添加本地暂存(托管)文件。我们可以使用命令-> git add 文件名
来把当前目录下没有被跟踪的文件添加到跟踪列表。如我们可以在当前项目文件夹下键入命令-> git add README.md
则完成添加。执行该命令不会有提示,我们需要通过-> git status
来查看结果。
我们可以使用-> git add --all
来把当前目录下所有没有被跟踪的文件都添加到跟踪列表当中。不过在执行该命令之前,我们需要明确当前目录下有一些文件没有必要被跟踪,如node_modules
文件夹,(因为我们在package.json
文件当中记录了该项目所有的依赖包)。故我们需要在当前目录下添加一个清单文件,用于明确该目录下哪些文件需要被忽略。
我们使用sublime
等编辑器在当前项目文件夹下新建一个名为.gitignore
的文本文件。(因为在windows
环境下不允许新建一个名字以.
开头的文件或文件夹)。在该文本文件当中直接写入文件名即可,一行写一个文件名即可。如下图所示:
忽略清单文件编辑完成后,我们再次用-> git status
来查看忽略结果。
此时我们可以看到未被跟踪的文件当中已经忽略了node_modules
文件夹。然后我们使用命令-> git add --all
把当前状态当中所有未被跟踪的文件都添加到跟踪列表里。
如上图所示,我们在
.gitignore
文件当中写上dist
则代表该项目文件夹下凡是文件名为dist
的文件都会被忽略,但如果我们写/dist
则只会忽略该项目根目录下的文件名为dist
的文件,而其他文件夹下的dist
文件不会被忽略。
4、-> git commit -m "提交日志说明"
上面我们使用-> git add --all
只是把文件添加到跟踪列表当中,在添加完成之后,我们使用-> git commit -m "提交日志说明"
将当前文件夹当中被跟踪的文件的当前源代码保存一个副本,提交保存至本地的git
仓储当中。由于在git
当中每一次提交都必须要有提交日志,故我们必须能在参数-m
后面加上提交的日志说明,方便我们以后能从历史记录当中快速的找到改动记录。在我们第一次提交时,会报如下错误:
这是因为我们在初次运行git
时,需要进行配置用户信息。第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次git
提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录。如果用了--global
选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉--global
选项重新配置即可,新的设定保存在当前项目的.git/config
文件里。
我们可以键入-> git config --global user.name "qianqian"
和-> git config --global user.email "zhonglinqian@126.com"
。完成配置之后,我们就可以进行提交了。
在完成提交之后,我们可以用-> git status
来查看当前状态,用->git log
来查看我们的提交日志。
5、-> git diff
该命令用于对比当前状态与版本库当中最后一个版本之间的状态变化。当我们完成第一次提交源代码到本地git
仓储之后,我们就可以进行对我们项目文件夹下的文件进行更改啦,如我们在imgs
文件夹下删去了1.png
图。此时我们可以使用-> git diff
来对比当前项目文件夹下那些被跟踪的文件与本地git
仓储的最后一个版本源文件之间发生了哪些变化。
在明确了修改之后,如果我们希望把当前修改后的版本再提交到本地git仓储当中,则需要做的是:先用命令-> git add --all
来重新添加一次(即把所有变化了的文件都添加进来),然后紧接着用命令-> git commit -m "第二次提交源代码"
来完成提交。提交之后我们仍可以用-> git log
来查看提交日志。
我们想要把当前项目文件夹当中修改后的版本提交到本地
git
仓储当中,则我们一定要在修改完成之后先执行add
命令,然后再执行commit
命令。两步才可完成版本的提交。
6、-> git reset --hard 指定版本号的前六位编号
该命令可以用于让我们当前的项目文件回到指定的版本。我们在本地git
仓储库里存放的副本文件都是可以追溯回来的。(只要源代码库没被破坏,则仓储库当中任何一个版本都是可以追溯的。)我们通过-> git log
可以查看仓储库当中有几个版本,还有对应的版本说明。在每一版的commit
属性值为其对应的版本编号,我们取其前六位作为版本编号。如果我们希望让我们的项目文件恢复到第一次提交的版本,则键入命令-> git reset --hard 20d91e
。
此时我们当前项目文件夹当中源代码则恢复到我们提交第一次版本时的状态了,查看本地项目文件夹的imgs
文件夹,可以看到1.png
文件又恢复了。
7、-> git log
查看版本日志
8、-> git help
查看帮助文档
三、github的使用
git
服务器可以用来同步本地的代码仓储。我们可以通过git
命令将本地代码库当中的代码备份到git
服务器当中,可以实现代码,有利于项目的协同开发。github
实质上是一家git
服务器的提供商。接下去我们来介绍如何将我们本地的项目文件上传至github
。
我们在github
上完成账号的注册与激活之后,登陆自己的账号,选择start a project
或者new repository
来新建一个代码仓储。接下去在管理面板当中填写项目的名字,描述及选择为public
(代码开源),不选initialize this repository with README.md
则可以由自己来创建README.md
文件,不需要自动生成。
在上面的这个面板当中我们得到了这个项目仓储的https
的地址,将其复制下来。如https://github.com/linqian123/markdown-convertTo-html.git
。接下去我们在本地的项目文件夹下键入命令-> git remote add origin https://github.com/linqian123/markdown-convertTo-html.git
,此时我们是添加了一个git
的远端服务器的仓储地址,该地址的别名为origin
。在添加完成之后,我们通过命令-> git remote -v
来查看详细的远端地址。(fetch
表示从远端获取的地址,push
表示向远端推送的地址,这两个地址实际上是一样的。)
我们之前在第二部分介绍git
基本命令的时候,已经对我们的项目文件进行了本地git仓储的版本提交操作。即我们可以在修改之后,先用命令-> git add --all
来重新添加一次(即把所有变化了的文件都添加进来),然后紧接着用命令-> git commit -m "提交日志"
来完成提交。然后再执行命令-> git push -u origin master
,接下去会要求输入你在github
上的用户名和密码。完成之后显示为:
接下去刷新github
上的地址,即可以看到我们的项目文件上传成功啦!
我们如果想要在
github
上对项目源代码进行线上编辑,推荐使用chrome
浏览器,避免出现我们在编辑完成之后无法点击preview changes
来进行预览,或无法点击commit changes
来进行提交保存。
因为github
采用linguist
来自动识别仓库代码应该归为哪一类,故如果我们想要修改github
仓库默认显示的项目语言类型(如把默认显示的css
类型改为javascript
类型),我们可以在线上在我们项目的根目录下创建一个.gitattributes
文件,在该文件当中添加如下代码:
*.js linguist-language=js
*.css linguist-language=js
*.html linguist-language=js
此时表示将该项目仓库当中的js
,css
,html
代码都统计为js类型的代码。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。