Git 学习笔记
本文最后更新于:2020-08-18 18:39
最近在廖雪峰的官方网站上学Git管理代码库,在这里做笔记,备忘用
安装Git
1 |
|
安装完成后,还需要最后一步设置,输入
1 |
|
创建版本库
初始化一个Git仓库,使用git init
命令
添加文件到Git仓库,分两步:
使用命令
git add <file>
,注意,可反复多次使用,添加多个文件;
使用命令git commit -m,完成 使用命令
git commit -m <message>
,完成
时光机穿梭
- 要随时掌握工作区的状态,使用
git status
命令 - 如果
git status
告诉你有文件被修改过,用git diff
可以查看修改内容
版本回退
用git log
命令查看历史记录
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline
参数
用HEAD
表示当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
使用git reset
命令回退版本
- 回退到上一个版本:
git reset --hard HEAD^
- 退回到指定版本:
git reset --hard commit_id
commit_id
用git log
可以查看
要重返未来,用git reflog
查看命令历史,以便确定要回到未来的哪个版本
撤销修改
- 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
git checkout -- <file>
- 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令
it reset HEAD <file>
,就回到了场景1,第二步按场景1操作 - 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库
删除文件
命令git rm
用于删除一个文件,然后git commit -m <message>
,完成
如果是删错,用git checkout -- <file>
远程仓库
添加远程库
1 |
|
第一次推送
master
分支时,需加上-u
参数
以后用git push origin master
推送最新修改
从远程库克隆
git clone <远程仓库地址> <克隆到本地时的文件夹名,可留空>
自定义Git
忽略特殊文件
在Git工作区的根目录下创建一个特殊的.gitignore
文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件
如:
忽略Windows自动生成的垃圾文件:
1 |
|
忽略Python编译产生的.pyc、.pyo、dist等文件或目录:
1 |
|
最后一步就是把.gitignore
也提交到Git
配置别名
用git st
表示git status
:
1 |
|
在撤销修改一节中,我们知道,命令git reset HEAD <fil>
可以把暂存区的修改撤销掉(unstage),重新放回工作区。既然是一个unstage操作,就可以配置一个unstage
别名:
1 |
|
当你敲入命令:
1 |
|
实际上Git执行的是:
1 |
|
配置文件
配置文件放在.git/config
文件中:
1 |
|
别名就在[alias]
后面,要删除别名,直接把对应的行删掉即可
删除所有提交历史记录,成为一个干净的新仓库
1 |
|
参考文献
git - how to delete all commit history in github? - Stack Overflow
Git教程 - 廖雪峰的官方网站