Git从入门到放弃

开始

Git官网

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从小到大的项目版本管理。

在Git中,文件一共有三种状态,分别是:

  • 已修改(modified):表示修改了文件,但是还没保存到数据库中。
  • 已暂存(staged):表示对一个已修改文件的当前版本做了标记,并使之包含在下次提交的快照中。
  • 已提交(committed):表示数据已经安全的保存在本地数据库中。

安装

安装 Git

经过上面链接安装完成后,可以使用如下命令查看当前Git版本

git --version

配置

当我们首次成功安装完成后,需要对Git进行如下配置:

git config --global user.name xxx  //把xxx替换成你的英文名字随便什么都行
git config --global user.email yyy  //把yyy替换成你的邮箱
git config --global push.default matching
git config --global core.quotepath false  
git config --global core.editor "vim"  //使用vim编辑提交信息

注意:一定要进行上述配置,否则后面会出问题!

配置完成后,我们可以使用如下命令来检查所配置的列表信息

git config --list

也可以使用git config <verb>形式来检查某一项的配置,例如:

git config user.name
git config user.email

Git帮助

如果我们想要获取Git的相关帮助,可以使用如下命令:

git
git help
git help <verb>
git help config    //获取config命令的手册

获取仓库

在Git中,有两种方式可以获取仓库。

本地初始化项目

使用如下命令进行项目初始化:

git init
# or
git init 仓库名

初始化项目后,该命令会创建一个名为.git的子目录,该目录是隐藏文件。

克隆已有的仓库

git clone [url]
git clone [url] 自定义仓库名
# 例如
git clone :LqZww/vue-notes.git demo

检查当前文件的状态

如下命令可以查看文件当前是处于什么状态的:

git status

下列命令可以更简洁的方式查看更改:

git status -s
# or
git status --short

如果git status命令的输出对于你来说过于模糊,你想知道具体修改了什么地方,可以使用git diff命令。

忽略文件

有时候我们有些文件无需进行Git的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。

在这种情况下,我们可以创建一个名为.gitignore的文件,列出要忽略的文件的模式。

.gitignore文件的格式规范如下:

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配(glob模式是指shell所使用的简化了的正则表达式)。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

添加并提交

将所有修改添加至暂存区:

git add .

提交版本:

git commit -m "描述"
git commit -v    //进入vim模式

跳过使用暂存区域:

git commit -a -m ‘描述‘

只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤。

查看历史提交

使用如下命令来查看历史版本记录:

git log

不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面!

git log -p    //可以查看添加的详细内容
git log --oneline    //会将每个提交放在一行显示,在浏览大量的提交时非常有用

撤销操作

有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。此时,可以运行带有 --amend 选项的提交命令尝试重新提交:

git commit --amend

回退到指定的历史版本:

git checkout 版本号

撤回上一个版本:

git checkout -

标签

列出所有标签:

git tag
git tag -a 标签名 -m "备注"

为指定版本添加标签:

git tag -a 标签名 -m "备注" 版本号

查看某个标签的详细信息:

git show 标签名

回到至标签所在的提交:

git checkout 标签名

显示所有记录:

git log --oneline --all

将tag提交到远程:

git push --tags

分支

创建分支:

git branch 分支名

切换分支:

git checkout 分支名

图示全部历史记录:

git log --all --graph

创建并切换至分支:

git checkout -b 分支名

合并分支:

git merge 分支名

回退版本

回退到xxxx版本:

git reset xxxx

强制回退到xxxx版本:

git reset --hard xxxx

远程仓库

添加远程仓库:

git remote add 远程名称 远程地址

列出所有远程仓库:

git remote

上传代码:

git push -u 远程名 分支名

获取远程更新:

git pull

未完待续??

参考、学习链接

Git - Book
Learn Git Branching
Git教程 - 菜鸟教程
Git使用规范流程 - 阮一峰
Git工作流程 - 阮一峰
常用Git命令清单 - 阮一峰
Git远程操作详解 - 阮一峰

相关推荐