用惯了svn,突然转换到git上有点不习惯,先总结下git下常见的操作
- 新建版本库
在需要新建版本库的目录启动命令行:git init,这就完成了版本库的创建
- 添加文件
首先需要搞清楚git相比与svn,多了一个Index(stage)区,所有需要提交到本地库的变动,都需要先添加到暂存区,然后才可以提交到本地库,注意这里所说的变动包含添加、删除、修改
首先执行:git add <filename> 或着git add <dir> ,添加需要纳入版本管理的文件或者文件夹
然后提交:git commit -m "提交说明",在提交时必须编写提交说明,方便代码审查回溯
- 放弃修改
在编写代码过程中会遇到需要放弃工作区修改的情况,对于git还多了一个放弃stage去修改的情况。
放弃工作区修改:git checkout <filename> 或者 git checkout <dir>,执行该命令就会从stage区下载对应的文件覆盖工作区的修改,注意并不是从head下载
放弃暂存区修改:git reset head 执行该命令会放弃暂存区修改,但是不会放弃本地修改。
git reset [--hard|soft|mixed|merge|keep] [<commit>或HEAD],根据 指定的版本对本地库、暂存区、工作区进行回滚,
默认是mixed,也就是不修改工作区文本,仅将本地库、暂存区恢复到指定版本
指定--hard,将用指定版本覆盖暂存区、本地库、工作区。
这个地方就是git比起svn更加强大的地方,如果你某个版本出现重大提交错误了,那么你可以回退到之前的版本,这样回退后,在git log中也看不到错误的版本了
- 删除文件
删除命令:git rm <filename> 或者 git rm <dir>,这是是在将删除状态放到了暂存区,在git commit后才会真正从本地库中删除