Linux环境直接安装一个git就可以在CLI使用git,在Windows环境下载使用Git bash就可以了。
Git结构
画张图记录。
设置身份
git config --global user.name "姓名"
git config --global user.email "邮箱地址"
其中--global
表示对本机上所有Git仓库都使用该配置。
创建版本库
在要管理的目录下使用:
git init
则在该目录下会生成一个.git
子目录,即为Git版本库。若要删除版本库,直接移除这个子目录即可。
添加文件到暂存区
实际是将对文件的修改添加到暂存区stage
。
添加指定的文件
git add 文件名
添加不被ignore的所有文件
git add .
提交到版本库
实际是将暂存区的所有内容提交到当前分支branch
。
git commit -m "本次提交的描述信息"
查看对被管理文件的修改
git diff
查看工作区状态
工作区是除了.git
子目录之外的,受管理(不被忽略)的那些文件所在的区域。
git status
查看提交日志
git log [--pretty=oneline]
其中每个提交的很长的16进制数是其版本号。
SVN的版本号则是递增的数字,因为SVN是集中式的,不会产生分布式工作时的冲突。
向前回退k个版本
向前回退1个版本:
git reset --hard HEAD^
向前回退2个版本:
git reset --hard HEAD^^
向前回退k个版本,k是数字:
git reset --hard HEAD~k
其中HEAD
就是当前版本的意思。
向前或后跳转到指定版本
git reset --hard 足够唯一标识版本号的非空活前缀
查看git操作历史
git reflog
忘记HEAD
指针后面的版本号时可以用这个看看自己以前的操作。
撤销指定文件在工作区的全部修改
即使该文件回到最近一次commit
或add
的状态。
git checkout -- 文件名
记录删除操作到暂存区
手动删除文件后,使用
git rm 文件名
即可在暂存区中记录删除了该文件这一操作。实际上,这和
git add .
对该文件的效果是一样的。往往只是使用后者就可以了。