git学习笔记

git介绍

git是一款快速的,可扩展的,分布式的版本控制系统
官方文档链接.

配置git的工作环境

在使用git前需要配置git的最小工作环境,即设置开发者的名字和邮箱,命令如下:

git config --global user.name 'your name'
git config --global user.email 'your email'
#查询是否已经添加成功可以使用命令
git config --global --list
#或者
git config user.name

配置git的文本编辑器

如果不配置git的文本编辑器,git 会使用操作系统默认的文本编辑器,但是我们可以配置自己习惯的文本编辑器,这回提高我们的工作效率。以vim为例,命令如下:

git config --global core.editor vim#将文本编辑器设为vim
git config --global -e#我们可以使用这条命令看看是否已经设置成功

获取帮助

获取帮助有很多种方法,命令如下:

git help <command>#或者
git <command> --help#或者
man git-<command>#还有
git <command> -h#可以获得更简短的帮助

git使用

建立git的仓库有几种场景,一种是已经有了代码,另一种是新建一个工程让git管理,还有一种是克隆已有的仓库。下面是几种种场景建立git仓库的命令方式:

#有代码的情况
cd your_project_directory
git init
#没有代码的情况
cd directory_project_placed
git init your_project_name
cd your_project_name
#克隆仓库的情况
git clone <url>#使用该命令会在当前目录下建立一个仓库
git clone <url> name#可以将工程克隆的目录名设置为name

add命令

add命令可以更新工作树当前目录的暂存区,添加工作文件到暂存区,移除工作树中不再存在的路径。在对工作文件修改后和运行commit命令之前都必须把新的文件和修改后的文件加入到暂存区中去。
git status命令可以获取一个哪些文件更改并且为下一次的commit暂存了起来的总结。add的命令有:

git add <path>#可以是文件夹,会添加文件夹里所有匹配文件
#也可以用来更新暂存区来匹配path当前的状态,比如在dir目录里修改文件1,
#添加文件2,删除文件3.那么执行git add ./dir后就会在工作树下
#修改文件1,增加文件2,移除文件3。如果想要忽略移除的文件
#可以使用--no-all选项
git add -n/--dry-run 文件#并不实际添加文件,只是显示文件是否存在
git add -v/--verbos 文件#显示详情信息
git add -f/--force 文件#强制添加,允许添加忽略的文件,
#不加-f添加忽略的文件会报错

忽略文件

当我们不希望一些文件纳入git管理(比如日志文件,编译过程产生的中间文件),也不希望这些文件出现在未跟踪列表里时,可以创建一个.gitignore的文件,在这个文件里列出要忽略的文件模式。

所有空行或者以 # 开头的行都会被 Git 忽略。
可以使用标准的 glob 模式匹配,它会递归地应用在整个工作区中。
匹配模式可以以(/)开头防止递归。
匹配模式可以以(/)结尾指定目录。
要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。

所谓的 glob 模式是指 shell 所使用的简化了的正则表达式。 星号(*)匹配零个或多个任意字符;[abc] 匹配任何一个列在方括号中的字符 (这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c); 问号(?)只匹配一个任意字符;如果在方括号中使用短划线分隔两个字符, 表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字)。 使用两个星号(**)表示匹配任意中间目录,比如 a/**/z 可以匹配 a/z 、 a/b/z 或 a/b/c/z 等。

查看文件状态

查看文件的状态可以使用命令:git status,使用命令:git status -short或者git status -s 可以查看文件状态的模式。

查看已暂存和未暂存文件的修改

如果想知道当前做了那些更新尚未暂存,具体修改了哪些地方,可以使用命令:git diff ,若要查看已暂存的将要添加到下次提交里的内容,可以用 git diff --staged 命令

删除文件和移动文件

使用命令:git rm 文件,可以直接从仓库中删除文件,
git rm --cached 文件,可以从暂存区删除文件,
git mv 文件 文件,可以从仓库中移动文件,或者重命名文件。

commit命令

记录变化到仓库中,可用的选项有:

git commit -a/--all#该命令可以自动的暂存修改和暂存的文件,
#但不影响未被git管理的新文件(默认)
git commit -p/--pitch#交互式添加变更
git commit --interactive#交互式添加文件
git commit -i/--include#添加指定的文件到索引区等待提交
git commit -q/--quiet#提交成功后不显示概述信息
git commit -v/--verbose#在提交说明模板里显示差异
git commit --author <作者>#提交时覆盖作者
git commit --date <日期>#提交时覆盖日期
git commit -m/--message <说明>#提交说明
git commit --short#以简洁的格式显示状态
git commit --long#以长格式显示状态(默认)
git commit --amend#修改先前的提交

提交日志log

使用命令:git log可以查看提交历史。
git log -p/–patch,它会显示每次提交所引入的差异(按 补丁 的格式输出)。 你也可以限制显示的日志条目数量,例如使用 -2 选项来只显示最近的两次提交。
git log --stat,使用该命令可以看到每次提交的简略统计信息。
git log --graph,以图形方式显示,可以查看分支结构。

撤销操作

如果在一次提交后发现有几个文件忘了提交,或者提交信息错误,可以使用命令:git commit --amend,来重新提交,不会产生新的提交信息。
取消暂存的文件可以使用命令:git reset HEAD – <文件>
最近提交的版本覆盖掉修改的文件:git checkout –

git标签

在 git 中列出已有的标签,只需要输入:git tag
如果提供了一个匹配标签名的通配模式,那么 -l 或 --list 就是强制使用的。
附注标签:git tag -a v1.4 -m “my version 1.4”
轻量标签:git tag v1.4-lw
区别:附注标签包含打标签者的名字、电子邮件地址、日期时间, 此外还有一个标签信息。
通过使用命令: git show Tag,可以看到标签信息和与之对应的提交信息。
后期打标签:git tag -a Tag 校验和或部分校验和,校验和就是输入git log后commit后面跟的一串数字。
删除标签命令:git tag -d Tag

git分支

分支创建:git branch <分支>,
分支切换:git checkout <分支>,
在切换分支时,工作目录里的文件会被改变。 如果是切换到一个较旧的分支,工作目录会恢复到该分支最后一次提交时的样子。
使用命令:git checkout -b <分支>,可以同时完成创建和切换的工作。
合并分支:首先回到master分支git checkout master,然后再合并git merge <分支>。
删除分支:git checkout -d <分支>
查看当前的所有分支:git branch
查看每一个分支的最后一次提交:git branch -v

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值