Git:文件操作和历史回退
创建仓库
创建新文件夹:mkdir learngit
进入:cd learngit
ls
发现没有任何东西:git init
将这个文件夹设置为git文件夹。目录下面会出现.git 的隐藏文件
创建文件/文件夹
当移入/创建新的文件和文件夹时,需要git add file
然后,git commit -m 说明
将文件提交到当前分支。执行命令前后的区别,可以通过git status
来查看。
修改文件/文件夹
当修改文件内容的时候,调用git status
会发现modified:,说明没有提交到当前分支。
此时,可以git diff 修改的文件名
,来查看文件哪里进行了修改。
当然,最后还是需要先git add file
,再git commit -m 说明
一下。
查看git status
的结果的最后应该是:working directory clean
回到修改前的版本
git log
:可以查看最近到最远的提交日志。如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数,使用git log --pretty=oneline
需要友情提示的是,你看到的一大串类似3628164...882e1e0的是commit id(版本号),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示,而且你看到的commit id和我的肯定不一样,以你自己的为准。为什么commit id需要用这么一大串数字表示呢?因为Git是分布式的版本控制系统,后面我们还要研究多人在同一个版本库里工作,如果大家都用1,2,3……作为版本号,那肯定就冲突了。
git reset --hard 一段commit_id的缩写
:重回对应的版本,不需要全部的commit_id,只要前几位可以区分就行。嫌麻烦的话,可以git reset --hard HEAD~num
,例如 git reset --hard HEAD~100
回退到前100个版本。
撤销修改
git checkout -- file
:如果只是想在没有commit
提交之前撤销修改,这条命名会让文件撤销修改。
注意,必须有 -- ,否则就是切换分支了。
删除文件
如果手动删除了文件/命令行rm file
删除了文件
- 如果想彻底删除:
git rm file
,然后再git commit -m "..."
提交到版本库 - 不小心删错了:
git checkout -- file
恢复即可。
工作区、暂存区、版本区
欢迎进一步交流本博文相关内容:
博客园地址 : http://www.cnblogs.com/AsuraDong/
CSDN地址 : http://blog.csdn.net/asuradong
也可以致信进行交流 : xiaochiyijiu@163.com
欢迎转载 , 但请指明出处 : )
Git:文件操作和历史回退的更多相关文章
- git初体验(二)基础git文件操作
文件操作续 忽略一些文件 只需在主目录下建立".gitignore"文件,注意新建的是文件而非文件夹,在win窗口中不能建立以.开头的文件,只能在dos下: E:\knowcars ...
- [git] 文件操作
文件操作 1. git add 1.1 将未被git管理的文件添加到暂存区 一次可添加多个文件 文件夹,中间用空格隔开 git add 文件/文件夹 文件/文件夹 再次执行 git sta ...
- git文件操作
git下载地址: https://git-scm.com/download mac 直接使用brew下载brew install git 1Git一般工作流程: 1.在工作目录创建版本库 2.在工作目 ...
- 本地Git项目搭建和文件操作
Git项目搭建 git init ---在该文件夹下进入cmd/terminal git clone [url] ---克隆远程仓库到本地 Git文件操作 文件的四种状态: · Untracked:未 ...
- GIT学习之路第三天 文件操作
本文参考廖雪峰老师的博客进行总结,完整学习请转廖雪峰博客 一.版本回退 1.git log提交日志 在git中可以通过个git log 命令显示从最近到最远的提交日志. $ git log commi ...
- Git revert及其他一些回退操作
放弃本地的代码和本地提交,希望会退到远程分支的某次提交时,使用git reset --hard fa042ce. 本地已提交,但是发现有问题,想要撤销本地的提交,使用git checkout /trs ...
- git常用操作 配置用户信息、拉取项目、提交代码、分支操作、版本回退...
git常用操作 配置用户信息.拉取项目.提交代码.分支操作.版本回退... /********git 配置用户信息************/ git config --global user.name ...
- git中的文件操作
现在我们的机器上有了一个 真实项目 的 Git 仓库,并从这个仓库中检出了所有文件的 工作副本. 通常,你会对这些文件做些修改,每当完成了一个阶段的目标,想要将记录下它时,就将它提交到仓库. git中 ...
- git的忽略文件和删除文件操作
1 删除工作区和暂存去的a文件$ git rm a 2只删除暂存去的 a文件,a文件就不被跟踪了.可以执行git add a从新添加回暂存去$ git rm --cached a 3 git mv 操 ...
随机推荐
- 【网络流】 HDU 3468 Treasure Hunting
题意: A-Z&&a-z 表示 集结点 从A点出发经过 最短步数 走到下一个集结点(A的下一个集结点为B ,Z的下一个集结点为a) 的路上遇到金子(*)则能够捡走(一个点仅仅能捡一次) ...
- [Android]通过adb shell input上报命令模拟屏幕点击事件【转】
本文转载自:http://blog.csdn.net/yuanzihui/article/details/52871652 常用的 input上报命令: input text 1234 实际向界面注入 ...
- 排列(permutation) 用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要 求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。
#include <stdio.h> #include <math.h> // 算法竞赛的目标是编程对任意输入均得到正确的结果. // 请先独立完成,如果有困难可以翻阅本书代码 ...
- 分类(category)是门学问
分类的精细程度表现了人类的文明程度. 1. 学科分类 cybernetics:控制论:
- [python基础] python生成wordcloud并保存
1.核心包 #jieba.pandas用来处理数据,数据源以xls格式存储的,这里用pandas进行处理import jieba from jieba import analyse import pa ...
- 搭建Git服务器(转载)
转自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360 ...
- E20170617-hm
notation n. 记号,标记法; implicit adj. 不言明[含蓄]的; 无疑问的,绝对的; 成为一部份的; 内含的; selector n. 选择者,选择器; promot ...
- JavaSE综合项目演练
光阴似箭日月如梭,大家学习已经有了一段时间了,转眼间,从刚开始如何配置JDK已经到了现在快学完网络编程了.学了这么多,眼看就要进入下一个阶段了,数据库编程了,那么在进入下个阶段前,我们来完成一个综合性 ...
- Codeforces 825D 二分贪心
题意:给一个 s 串和 t 串, s 串中有若干问号,问如何填充问号使得 s 串中字母可以组成最多的 t 串.输出填充后的 s 串. 思路:想了下感觉直接怼有点麻烦,要分情况:先处理已经可以组成 t ...
- Android 使用 Application 简单介绍
Application 配置全局Context 第一步.写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application ...