Git使用教程
Git使用教程
Git 全局配置
git config --global user.name "用户名" # 全局配置git用户名为Hong Xun
git config --global user.email 用户邮箱 # 全局配置git用户邮箱为
git config --global credential.helper store # 存储用户和邮箱信息
git config --global --list # 查看git全局配置
Git 命令
创建仓库
git init # 在当前目录下创建仓库
# 创建的.git目录是隐藏的,ls显示不出来
ls -a # 显示
git init learn-git # 在当前目录下创建lern-git目录并创建仓库
git ls-files # 查看仓库中存储的所有文件
添加和提交文件
git status # 查看当前仓库状态
git add file.txt # 将file.txt存放到暂存区
git commit -m "第一次提交" # 将暂存区中的文件提交到本地仓库,-m 为这次提交添加描述
# 可使用通配符添加多个文件
git log # 可以查看提交记录
git log --oneline # 查看简洁的提交记录
git commit -am "1"
# 相当于
git add <所有已被跟踪的文件>
git commit -m "1"
# 但注意,其不会提交为跟踪的文件
回退版本
git reset --soft 回退版本ID
--soft # 回退到某一版本并保留工作区、暂存区的工作内容
--hard # 回退到某一版本,丢弃工作区、暂存区的所有内容
--mixed # 回退到某一版本,只保留工作区的内容
# mixed是 git reset 的默认参数
git reflog # 查看历史命令
# 然后可以根据版本号进行回退
查看差异
git diff
# 默认比较工作区和暂存区之间的差异
HEAD # 查看工作区和版本库之间的差异
# HEAD 指向分支的最新提交节点
--cached # 查看暂存区和版本库之间的差异
git diff HEAD~ HEAD
git diff HEAD^ HEAD
# 查看上一个版本与当前版本的差异
git diff HEAD~2 HEAD
# 查看HEAD之前的两个版本与当前版本的差异
git diff HEAD~2 HEAD file3.txt
# 查看两个版本间某文件的版本差异
git diff brach_name branch_name
# 查看两个分支之间的版本差异
删除文件
git rm file2.txt
# 在工作区和暂存区中删除file2.txt
git rm --cached <file>
# 暂存区删除,工作区保留
git rm -r *
# 递归删除某个目录下的所有子目录和文件
.gitignore忽略文件
ignore是忽略的意思,该文件用来存放忽略的不应该放在版本库中的文件
应该忽略的文件
- 系统或者软件自动生成的文件
- 编译产生的中间文件和结果文件
- 运行时生成的日志文件、缓存文件、临时文件
- 涉及身份、密码、口令、秘匙等敏感信息的文件
.gitignore中存储的文件会被git忽略掉不会再提交,但.gitignore本身在改变,需要提交
匹配规则
- 空行或者以
#开头的行会被Git忽视。一般空行用于可读性的分割,#一般用作注释 - 使用标准的Blob模式匹配,例如:
- 星号
*通配任意个字符 - 问好
?通配单个字符 - 中括号
[]表示匹配列表中的单个字符,例如[abc]表示a/b/c
- 星号
- 两个星号
**表示匹配任意的中间目录 - 中括号可以使用短中线连接,比如:
[0-9]表示任意一位数字,[a-z]表示任意一位小写字母
# 忽略所有的.a文件
*.a
# 但跟踪所有的lib.a文件,即便在前面忽略了.a文件
!lib.a
# 之忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt, 但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
".gitignore" 17L, 383B
远程仓库
远程连接仓库
# 远程连接github仓库
git clone git@github.com:(github用户名)/remote-repo.git
将本地仓库、远程仓库
# 将本地仓库内容推送给远程仓库
git push
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 鸿寻
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果