正在玩命加载中 . . .

GitUse


什么是Git

Git是一套程序源代码的分布式版本管理系统,最初用于管理Linux核心代码的开发,后来被多个开源工程采用,现在已经成为互联网协作开发的标准的源代码管理软件。(更加管理项目的开发流程)

Git官方网站

Git初运行

​~~~bash
$ git version//查看git的版本号

Git在线体验

采用Git的云服务

  • GitHub
  • gitee(oschina)
  • 等等

理解版本管理的流程

代码开发流程

  1. 系统开发,编写代码
  2. 提交代码给Git本地库
  3. 将代码提交到Git远程库,分享给团队其他人
  4. 从远程库获取最新代码
  5. 继续修改代码
  6. 重复第二步

Git基础概念(本期重点)

  1. 本地工作文件夹
  2. Git索引区(Stage)
  3. Git库(Repository)
    • local:本地库
    • remote:远程库(服务器端)

Git初始设定

建立一个Git库

​~~~bash
$ git init//初始化

在当前文件下,建/初始一个Git的数据库。当前文件夹下所有的文件,都可以进行文件管理。

设置基础信息

​~~~bash
$ git init//建一个库
$ git config -l//查看当前的设置
$ git config --global user.name "LogicVan"//进行用户名的设置
$ git config --global user.email "LogicVan@163.com"//Git是Internet分布式开发管理系统,Internet每个用户有邮件地址,进行邮箱的设置
$ git config --global color.ui true//设置编辑器的颜色为true,多在Linux和Mac系统设置,Windows里不多
$ git config -l

跳转到D盘下文件夹F下的Cloud文件夹

$ git init//建一个库

查看新建出来的.git文件下有什么

$ git config -l//查看当前的设置

由于我之前已经设置好用户名和邮箱了,就不再演示了。

方便的命令

​~~~bash
$ git config --help
//$ git help config也可以

在Git Bash中敲下代码,再按下回车键,在浏览器中打开帮助文档(Windows下),若是Linux,则在当前命令行中打开。

第一次提交

实战演练

  • 建立文件(本地工作区)
  • 追加文件(索引区)
  • 提交文件(本地库)

跳转到D盘下文件夹F下的Cloud文件夹

初始化Git库

在F/Cloud文件下,新建index.html文件,命令如下,也可手动自行创造。

使用git status命令,看一下当前文件夹的状态。此时index.htm文件未放入到索引区,显示红色。

使用git add index.htm命令,把当前红色文件放到索引区。

再次查看状态,index.htm变为绿色。本地有一个文件,修改完之后,提交到索引区,但是还没有向数据库提交。

**git commit -m “…”**提交,需要加一些备注,告诉数据库你改了些什么。

再次查看状态。index.htm并未消失,只是在数据库当中寄存了一个版本。

git log查看提交历史。

查看提交履历

知识点:git log命令的使用

实战演练

​~~~bash
$ git log
$ nano index.htm
...
...
$ git add index.htm
$ git commit -m "added code"
$ git log
$ git log -n//n为1,2,3...,显示最近n次记录
$ git log --oneline//**将记录归为一行显示
$ git log -p//将记录详细显示
$ git log --stat//对每次提交的信息进行统计
$ git log --help//对于git log 选项的帮助文档

把握Git状态

知识点

  • git status
  • git checkout – [file]
  • git restore / git restore –staged

修改先前的index.htm文件,多加一句“I love git”,检查状态。

  • 使用git checkout – index.htm,回车,发现刚刚加上的“I love git”撤销了,回复之前的状态。
  • 观察红字上方,有restore命令,于是git restore index.htm,也可以撤销,恢复刚刚状态。

如果加入了索引区add(没有提交commit),使用git checkout – [file]**是无效的。此时,git restore –staged index.htm即可将文件从索引区(暂存区)撤出,但是不撤销对 工作区 文件的更改**,即由git status命令得出的红字“被修改 且 被加入暂存区 ”被撤销。

详细内容:

git restore 和 git restore –staged 的区别(详细)

git restore 和 git restore –staged 的区别

比较修改内容

知识点

  • git diff
  • git diff –cached

实战演练

我们再次对上次的index.htm文件进行操作,增加一行“I love git”,查看状态,显示未添加(红字状态),图略。

此时,我们使用git diff命令,显示出我们修改的内容。

我们再将index.htm文件提交到索引区(暂存区)并查看状态,代码略,图略。

再次使用git diff命令,这时,我们发现没有任何反映和显示。

使用git diff –cached命令,则再一次显示出我们修改的内容。

Git文件操作

知识点

  • git add [file1 file 2 …]
  • git add . 将当前工作文件夹下的所有文件(包括子目录)添加到索引区
  • git rm / git rm –cached 删除
  • git mv 文件移动,更多用于文件更名

实战演练

我们再一次修改index.htm文件,并且创建style.css文件,查看状态。

使用**git add .**,提交所有文件到索引区。

使用git mv,进行文件更名。

使用git rm命令,将刚刚提交到索引区内的文件从中撤了出来。

Git忽略管理

设置Git忽略的文件,这些文件不参与Git库的提交和管理。

知识点

  • . gitignore

详情查询:

帮助网页

实战演练

我们创建temp.txt文件,查看状态,显示红字,但是我们不想这个文件被管理,所以我们有创建了一个末尾文件名为“ . gitignore”的文件,查看状态,这两个文件目前都是被管理的( . gitignore文件肯定是需要管理的)

我们在 . gitignore文件中写入 “ *.txt “这一行,如图:

再次查看状态,这次只有 . gitignore文件被管理,达到了我们的目的。

更新最后的提交

知识点

  • git commit -m “…”
  • git cmmit –amend
  • git commit -am “…” [–amend]

文章作者: LogicVan
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LogicVan !
评论
  目录