1.Git创建仓库
仓库(Repository),可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
本地仓库搭建
创建全新的仓库,在当前目录新建一个Git仓库
git init
克隆远程仓库
克隆远程目录,将远程服务器上的仓库完全镜像一份至本地
git clone [url]
2.Git基本命令
(1)将test.txt添加到仓库暂存区
添加文件到暂存区
git add test.txt
(2)将test.txt提交到仓库
提交暂存区到本地仓库。
git commit -m "test file."
其中-m后面的内容是对本地提交的说明
(3)查看文件状态
查看仓库当前的状态,显示有变更的文件。
git status
其中文件有以下几种状态
- Untracked:未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制。通过git add 状态变为Staged。如新创建的文件。
- Tracked:已跟踪,通过 git add 命令将未跟踪的文件添加到暂存区后,文件变为已跟踪状态。
- Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致。这种类型的文件有两种去处,如果它被修改,而变为Modified。如果使用git rm 移出版本库,则成为Untracked文件。
- Modified:文件已修改,仅仅是修改,并没有进行其他操作,如git add提交到暂存区。这个文件也有两个去处,通过git add可进入Staged状态,使用git checkout则丢弃修改,返回Unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改。
- Staged:暂存状态,通过git add添加到暂存区的文件。执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified。
- Committed:已提交,通过git commit将暂存区的文件提交到仓库,这些更改会记录下来并且文件状态返回为已跟踪。
(4)查看文件修改
比较文件的不同,即暂存区和工作区的差异。
git diff text.txt
(5)查看历史提交
git log
(6)回退版本
git reset --hard HEAD^
其中–hard表示回退到上个版本已提交的状态,也可以用以下两个参数
--soft:表示回退到上个版本未提交的状态
--mixed:表示回退到上个版本已添加但是未提交的状态
而HEAD表示当前版本
HEAD^:表示上个版本
HEAD^^:表示上上个版本
HEAD~100:表示上100个版本
(7)恢复版本
回退之后可以通过commit ID来恢复到未来的版本
git reset --hard commit ID
其中commit ID填前几位就好了,Git会自动找到对应的commit ID。
待续。。。