Git本地命令行操作常用命令
2016-03-05 19:49
357 查看
刚接触git不久,有很多东西并不太了解。所以决定先从最简单的部分开始——学习git的本地命令行操作。这样,自己在本地写一些小代码的时候,也能够更方便地进行版本控制管理。
git init
来初始化当前目录。
当然也可以在当前目录下新建一个文件夹进行管理,那么就要输入
git init 文件夹名称
git add 文件名
git commit -m “版本提交说明”
以上是在没有任何意外的情况下,使用git管理文件的正常流程。当然,在实际使用中还会遇到很多情况,好在git为我们提供了很多便捷的解决手段。
git checkout – 文件名
当你把文件添加到暂存区后,想要撤销对文件的本次修改,此时可以通过以下命令,将工作区和暂存区的文件恢复成之前提交到HEAD的版本
git checkout HEAD – 文件名
git reset – 文件名
若要撤销所有添加到暂存区的操作,可以直接输入
git reset
如果想把暂存区的文件恢复到以前提交的文件版本,可以通过HEAD^(HEAD~n)标记或SHA值来恢复
git reset HEAD^/SHA – files
恢复暂存区的所有文件到指定提交版本,可以输入
git reset HEAD^/SHA
注意:这一操作会使HEAD区回退到指定的提交本版
git diff
HEAD区(a)与暂存区(b)的文件区别
git diff –cached/–staged
HEAD区或指定提交版本(a)与工作区(b)的文件区别
git diff HEAD/SHA
查看文件变化简要信息
git diff –stat
以上命令是在本地使用git时常用的几个命令,也是我觉得一开始就应该弄明白的几个较为重要的命令,希望大家在使用git的过程中能多做总结,更快地提高git使用水平。
使用git的正常工作流程
一、创建git项目
进入想要进行版本控制的文件夹,打开终端,输入git init
来初始化当前目录。
当然也可以在当前目录下新建一个文件夹进行管理,那么就要输入
git init 文件夹名称
二、将文件添加到暂存区(stage)
创建git项目后,就可以把要管理的文件放到文件夹内,通过以下命令添加到暂存区git add 文件名
三、提交文件到本地仓库默认分支(HEAD)
如果添加到暂存区的文件没有问题,并且对文件的本次修改已经结束,就可以把此次的修改结果提交到HEAD。git commit -m “版本提交说明”
以上是在没有任何意外的情况下,使用git管理文件的正常流程。当然,在实际使用中还会遇到很多情况,好在git为我们提供了很多便捷的解决手段。
工作区的恢复操作
当你将文件添加到暂存区后,又对工作区中的文件进行了一些修改,造成不想要的结果时,可以使用以下命令将工作区的文件恢复成之前添加到暂存区的版本git checkout – 文件名
当你把文件添加到暂存区后,想要撤销对文件的本次修改,此时可以通过以下命令,将工作区和暂存区的文件恢复成之前提交到HEAD的版本
git checkout HEAD – 文件名
暂存区的恢复操作
当你把文件添加到暂存区后,想要撤销这一添加操作,又不想丢弃本地修改时,可以使用以下命令git reset – 文件名
若要撤销所有添加到暂存区的操作,可以直接输入
git reset
如果想把暂存区的文件恢复到以前提交的文件版本,可以通过HEAD^(HEAD~n)标记或SHA值来恢复
git reset HEAD^/SHA – files
恢复暂存区的所有文件到指定提交版本,可以输入
git reset HEAD^/SHA
注意:这一操作会使HEAD区回退到指定的提交本版
查看文件变化内容
暂存区(a)与工作区(b)的文件区别git diff
HEAD区(a)与暂存区(b)的文件区别
git diff –cached/–staged
HEAD区或指定提交版本(a)与工作区(b)的文件区别
git diff HEAD/SHA
查看文件变化简要信息
git diff –stat
以上命令是在本地使用git时常用的几个命令,也是我觉得一开始就应该弄明白的几个较为重要的命令,希望大家在使用git的过程中能多做总结,更快地提高git使用水平。
相关文章推荐
- 世界末日
- UIImageView(loading...)
- MYSQL数据库的优化
- java在定义的时候初始化和在构造器中初始化有何差异
- VS2013使用EF6与mysql数据库
- 移动文件导致报错
- 对称位置排列
- web前端2016-3-5
- $smarty->display('index2.tpl');
- 聊天
- Android系统input系统(1)
- Selenium Chrome启动
- B-Cracking the Code
- VS2013 EF6连接MySql需要几步?
- 最大和
- 5-31 字符串循环左移
- N!末尾有多少个0?
- 找回Python IDLE Shell里的历史命令(用上下键翻历史命令怎么不好用了呢?)
- WebAPP输入框被软键盘遮挡肿么办?
- spartan6不能直接把时钟连到IO上