git命令-读写文件
版本库又名仓库,英文名repository,你可以简单理解成一个目录;
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。
cat 文件名.txt :查看txt文件内容
1.
初始化一个Git仓库
git init:
把这个目录变成Git可以管理的仓库;
此时,目录下多了一个
.git
的目录,这个目录是Git来跟踪管理版本库的。
(ls -ah命令可以看到隐藏目录
)
2.
添加文件
到Git仓库,分两步:
1. git add <file>:可反复add添加多个文件,如:git add file1.txt
2. git commit -m <message>:将多个文件一次性提交,如:
git commit -m "add 3 files."
每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit
。
一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit
恢复,然后继续工作,而不是把几个月的工作成果全部丢失。
3.
修改文件
git status:随时掌握工作区的状态
git diff:
查看修改内容
4.恢复文件、版本回退
每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。
git log:
显示从最近到最远的提交日志(包括commit id)
git log --pretty=oneline :精简显示提交的日志的历史记录
git reset --hard HEAD^ :回退到上一个版本(还原存储的内容)
git reset --hard 1094a : 指定回退或前进到具体的某个版本(这里commit id 版本号是1094a,只需要输入版本号的前几位就行)
git reflog :记录了所有的历史命令记录(用来查询历史版本号id)
git status
命令可以让我们时刻掌握仓库当前的状态;
git diff readme.txt :查看文件内容变化
-
如果
git status
告诉你有文件被修改过,用git diff
可以查看修改内容。
一。查看修改 git status
二。①提交代码 Git add XXX.x
或者 git add -U 提交上面的修改
或者git add . 提交所有
② git commit
重复提交: git commit –amend
③ git push origin master:refer/for/master
三。撤销git add操作
① 撤销上次所有git add :git reset HEAD
② 撤销上次add的某个文件:git reset HEAD XXX.X
四。保存本地修改,拉新代码再回复本次修改
① git stash
② git stash apply
五。回退到指定版本:git reset –hard CommitID
图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。
Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的。要真正使用版本控制系统,就要以纯文本方式编写文件。
因为文本是有编码的,强烈建议使用标准的UTF-8编码。
千万不要使用Windows自带的记事本编辑任何文本文件。原因是Microsoft开发记事本的团队使用了一个非常弱智的行为来保存UTF-8编码的文件,他们自作聪明地在每个文件开头添加了0xefbbbf(十六进制)的字符,你会遇到很多不可思议的问题,建议你下载Visual Studio Code代替记事本,不但功能强大,而且免费!