Git的操作
Git是很好用的项目管理工具,记录下它的常用操作。
一、创建仓库
- 选择一个空目录(不要包含中文)
- 通过
git init
命令把它变为仓库:提示: 不要用记事本编辑.txt(Windows会在首位加上一串0xefbbbf(十六进制)的字符)1
2
3$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
Git仅支持纯文本文档(文本文档、程序代码等的改动控制,不支持图片视频以及word文档。)
二、添加文件
在该目录下或子目录下新建文件readme.txt,输入一些字符。
执行添加文件命令:git add
1 |
|
没有错误提示,即为成功。
然后是提交到仓库:git commit -m" "
1 |
|
-m 后为本次提交的说明,可以为任何字符。
提示一个文件修改,添加了一行。
三、版本回滚
git status
可以用来查看工作区状态,当前状态下有哪些文件是有修改的、没有提交的。git diff <file>
可以用来查看修改文件有何不同
1 |
|
1 |
|
添加过的文件修改后直接git commit即可。
查看提交日志:git log
1 |
|
其中commit后为版本号(自动生成的),并附有提交者、日期、描述信息。
只查看版本号与描述信息:加上--pretty=oneline
参数
查看历史所有命令日志:git reflog
回退到上一个版本:
HEAD为当前版本,前一版本为HEAD^,前一百版本为HEAD~100
使用git reset
命令:
1 |
|
这样就回到了上一个版本。
返回未来版本:
回到上一版本后,想要恢复之前的版本,则可以继续通过git reset --hard
命令,不过需要把hard后的HEAD^换为版本号(通常只要输入版本号的前几位即可。)
如:
1 |
|
忘记版本号可以用git reflog
查看。
四、管理修改
当修改过一个文件后,使用git add
将其放入暂存区。再次修改后,使用git commit
提交,发现提交的会是第一次修改的文件。这是因为提交的是暂存区的修改。
想要撤销修改时,用git status
,会发现他会告诉你如何撤销:
工作区的修改: git checkout -- test.txt
让文件回到最后一次commit或add。
暂存区的修改: 执行命令git reset HEAD test.txt
让暂存区的修改退回到工作区。
删除文件
在文件夹中删除文件后,在仓库中的删除需要以下命令:git rm test.txt
如果删错了,使用git checkout --test.txt
用版本库里的文件替换工作区文件。
但只能恢复到最后一次提交的状态。
总结:
- 在目录下使用
git init
初始化,建立仓库,生成.git文件夹 - 创建多个文件,使用
git add <file>
将工作区的文件一个个添加到缓存区 - 使用
git commit
将缓存区的文件提交 git status
查看当前状态,git diff <file>
查看某一文件与仓库有何区别。git log
查看历史修改记录,git reflog
查看历史命令。- HEAD 为仓库中指向当前版本的指针,
git reset --hard HEAD^
返回上一个版本,git reset --hard HEAD~100
返回上一百个版本,git reset --hard XXX
重置为版本号为XXX的版本(无论是在此之前还是之后) git checkout --<file>
让某文件回到上次add或commit状态。(发生修改和删除后),git rm <file>
在仓库中删去文件。