Home git命令学习笔记
Post
Cancel

git命令学习笔记

git命令学习笔记

状态:⏲️ 未完待续…

[TOC]

参考资料

Git-Book

常用命令

初始配置

配置用户信息

1
2
$ git config --global user.name "<用户名>" # GitHub用户名
$ git config --global user.email <邮箱地址> # GitHub注册邮箱

获取仓库

克隆整个仓库

1
$ git clone <仓库地址(URL)>

获取远程仓库的最新数据(但不会修改本地文件)

1
$ git fetch <远程仓库名称> # 缺省为克隆的源仓库 origin

合并远程仓库的修改到本地仓库(自动修改本地文件)

1
$ git pull # 缺省为克隆的源仓库 origin

查看信息

查看仓库状态

1
$ git status # 加选项 -s 显示简短信息

查看所有远程仓库名称(默认为 origin

1
$ git remote # 加选项 -v 显示读写远程仓库对应的地址(URL)

查看某个远程仓库的详细信息

1
$ git remote show <远程仓库名称>

比较差异

查看文件新旧版本区别

1
2
$ git diff # 比较未暂存和已暂存(add)
$ git diff --cached # (或者 --staged) 比较已暂存和上一次提交

查看提交历史

1
2
$ git log # 加上 --stat 选项显示简略信息
$ git log -p -2 # 只显示最近两次提交之间的差异

暂存修改

移动文件或重命名

1
$ git mv <旧文件名> <新路径或新文件名>

暂存修改(跟踪新文件)

1
$ git add <文件>

取消本次对某个文件的暂存

1
$ git reset HEAD <文件>

取消跟踪某个文件

1
$ git rm --cached <文件>

要忽略(即不跟踪)的文件和文件夹写入.gitignore文件中,Git-Book中展示的格式示例如下:

1
2
3
4
5
6
*.a		# 忽略所有的 .a 文件
!lib.a	# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
/TODO	# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
build/	# 忽略任何目录下名为 build 的文件夹
doc/*.txt		# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/**/*.pdf	# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件

提交修改

提交修改

1
$ git commit -m "<提交信息>"

重新提交(以本次新提交覆盖上一次提交)

1
$ git commit --amend

撤销对文件的修改(还原回上一次提交的状态)

1
$ git checkout -- <文件>

推送修改

推送已提交的最新修改到远程仓库

1
$ git push <远程仓库名> <分支> # 一般为: git push origin master

远程仓库

添加新的远程仓库

1
$ git remote add <名称(不同于origin)> <地址(URL)>

远程仓库重命名(远程仓库名称仅本地可见)

1
$ git remote rename <旧名称> <新名称>

移除远程仓库

1
$ git remote remove <远程仓库名称>
This post is licensed under CC BY 4.0 by the author.
Trending Tags