git———study
来源:互联网 发布:大数据的特点是什么 编辑:程序博客网 时间:2024/06/01 10:13
Git 学习
1 初始化
http://www.oschina.net/p/gogs/
一、选择一个合适的地方,创建一个空目录:
$ mkdir learngit $ cd learngit$ pwd/c/Users/w/learngit
二、初始化一个Git仓库,使用git init命令。
添加文件到Git仓库,分两步:
第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;
第二步,使用命令git commit,完成。
$ git add readme.txt$ git commit -m "wrote a readme file"
2 版本状态
- 要随时掌握工作区的状态,使用git status命令。
- 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
版本回退
1、 git log命令显示从最近到最远的提交日志(–pretty=oneline )
2、回退上一个版本 ,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
$ git reset --hard HEAD^
小结
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset –hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
3 撤销修改
命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
```$ git checkout -- readme.txt```
git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令。
用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:
$ git reset HEAD readme.txtUnstaged changes after reset:M readme.txt
小结
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
- git reset HEAD^ //回退至上一版本, 并重置缓存区
- git reset HEAD~10 //回退至10个版本之前, 并重置缓存区
- git reset –soft HEAD //回退时不重置缓存区和工作区
- git reset –mixed HEAD //回退时重置缓存区, 默认选项
- git reset –hard HEAD //回退时重置缓存区和工作区
- git reset //不指定HEAD, 用来清空缓存区的修改
- git reset filename //清空缓存区指定文件的修改
- git reset –hard //不指定HEAD, 用来清空工作区和缓存区的修改
- git reset –hard filename //清空工作区和缓存区指定文件的修改
- git checkout branch //切换branch, 同时重置缓存区和工作区, 如果工作区有修改没有提交, 需要先commit或stash
- git checkout branch –force //切换branch, 同时重置缓存区和工作区
- git checkout –force //不指定branch, 用来清空工作区的修改(缓存区不变, 如果之前有add, 则工作区与缓存区一致)
- git checkout – filename //清空工作区指定文件的修改
- git———study
- git study
- Git Study
- Android Study —— Activities
- 算法study——目录
- Trading——Study Notes
- Android Study —— Application Fundamentals
- Effective C++——Study Notes
- July——Study English With Relax
- www.clickwifi.net——study summary
- iBOMA’s Case Study—Health Care
- Git study notes
- git study summary
- GIT Study Notes
- Git study notes
- git study notes
- study c(vc中测试过)——指针
- Study notes for OpenCV——第六节 写视频文件
- Android Studio导入Eclipse项目和一些常见的问题
- python RuntimeError: dictionary changed size during iteration
- Codeforces Round #376 (Div. 2) F. Video Cards(前缀和,好题)
- NO.1 Anaconda2 搭建 openCV
- 马尔可夫随机场(MRF)
- git———study
- emgucv相机标定
- STM32 IAP 在线升级详解
- JAVA开发3--将开发的java项目导出为jar包
- c# 获取 摄像头 实现录像
- dubbo管理台的部署
- Understanding TCP/IP Network Stack & Writing Network Apps
- FastDFS与Springboot集成
- 子网寻址