git杂记-记录每次更新到仓库
- git status 和 git diff的运用
- git status 记录的是关于仓库文件是否有变更,例如是否被修改,是否被添加到暂村区。至于文件更改了什么内容该命令并不关心;
- git status -s 输出简短信息;
- git diff 记录的是文件到底修改了哪些内容,用来作比较用;
- git diff 比较尚未暂存的文件更新了哪些部分;
- git diff --cached(1.6.1版本以下) 或 git diff --staged(更高版本) 比较的是暂存区的文件更新了哪些信息;
- 忽略文件
- 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。所以要定义一个配置文件告诉git哪些文件不用跟踪;
- 配置文件被定义为.gitignore文件;
- 规则如下:
- 所有空行或者以
#开头的行都会被 Git 忽略。 - 可以使用标准的 glob 模式匹配。
- 匹配模式可以以(
/)开头防止递归。 - 匹配模式可以以(
/)结尾指定目录。 - 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(
!)取反。
- 所有空行或者以
- 例子
# 文件名后缀为a的文件被忽略
*.a # 即使你忽略文件名后缀为a的文件,但是要跟踪lib.a
!lib.a # 只忽略当前目录中的TODO文件,subdir / TODO文件将不被忽略
/TODO # 忽略build目录下的所有文件
build/ # 忽略doc / notes.txt,doc / server / arch.txt将不被忽略
doc/*.txt # 忽略doc目录下的所有.pdf文件
doc/**/*.pdf
- 提交文件
- 每次提交文件是先用git status或git status -s查看一下版本库中的哪些文件被修改过,必要时再用git diff 或 git diff --staged比较一下被修改的文件到底改了哪些部分。
- 我们都知道以下命令只会把暂存区的文件快照提交,未纳入暂存区的文件都不会被提交。
git commit -m "哈哈哈,我要被提交了"
- 如果对自己的修改自行失足并想快速地提交(当然这并不提倡),可以用以下命令跳过暂存区进行提交
git commit -a -m '哈哈哈,我直接提交的。我不用进入暂存区哦'
- 移除文件
- 正常删除
git rm 文件名
- 如果删除之前修改过并且已经放到暂存区域的话,用暴力删除(force)
git rm -f 文件名
- 如果只想删除暂存区和版本库的数据,而在本地保留。用--cached选项
git rm --cached 文件名
- 匹配删除(glob 模式)
git rm log/\*.log
- 正常删除
- 文件更名
- 命令
git mv file_from file_to
- 相当于
mv README.md README
git rm README.md
git add README
- 命令
git杂记-记录每次更新到仓库的更多相关文章
- git学习——记录每次更新到仓库
记录每次更新到仓库 工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪.已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或 ...
- 2.1获取Git仓库-2.2记录每次更新到仓库
2.1 获取 Git 仓库 获取 Git 仓库通常有两种方式 将尚未进行版本控制的本地目录转换为 Git 仓库: 从其它服务器 克隆 一个已存在的 Git 仓库. 在已存在目录中初始化仓库 首先进入该 ...
- Git(6)-- 记录每次更新到仓库(git clone、status、add、diff、commit、rm、mv命令详解)
@ 目录 1.克隆现有仓库:git clone 2.检查当前文件状态 :git status 3.跟踪新文件:git add 4.暂存已修改的文件:git add 5.状态简览: git status ...
- Git 系列教程(5)- 记录每次更新到仓库
文件状态 你工作目录下的每一个文件只有两种状态:tracked 或 untracked tracked 已跟踪 tracked 的文件是指那些被纳入了版本控制的文件 在上一次快照中有它们的记录,在工作 ...
- git更新到仓库
记录每次更新到仓库 现在我们手上已经有了一个真实项目的 Git 仓库,并从这个仓库中取出了所有文件的工作拷贝.接下来,对这些文件作些修改,在完成了一个阶段的目标之后,提交本次更新到仓库. 请记住,工作 ...
- Git 执行 「fork 出来的仓库」和「最新版本的原仓库」内容同步更新
当我们在 GitHub 上 fork 出一个仓库后,如果原仓库更新了,此时怎样才能保证我们 fork 出来的仓库和原仓库内容一致呢?我们一般关注的是仓库的 master(主干分支)的内容,通过以下步骤 ...
- Git 提交更新到仓库(分布式版本控制系统)
1.Git 文件生命周期 工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪. 已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改 ...
- Git学习记录--git仓库
Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...
- git 学习记录—— git 中的仓库、文件状态、修改和提交操作等
最近开始学习使用版本控制工具 git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...
随机推荐
- RHEL安装oracle客户端(版本为11.2)
RHEL安装oracle客户端(版本为 11.2) 1.获取超级管理员 命令:su - 输入root密码 2.安装依赖包: 命令:yum install -y binutils compat-libs ...
- Ionic2使用TypeScript调用自定义JavaScript脚本
在项目app目录下面写一个.d.ts 里面声明你要引用JS库里面定义的变量,变量名要保持一致 declare var Strophe: any; 然后把JS库放在www目录下面 然后在index.ht ...
- Oracle PL/SQL学习之基础篇(1)
1.PL/SQL,全称Procedure Language/SQL,过程化sql语言 PL/SQL的程序结构 declare --声明部分(包括变量.光标.例外声明) begin --语句序列(DML ...
- "[Vue warn]: Failed to mount component: template or render function not defined"错误的解决
VUE中动态路由出错: vue.esm.js?a026: [Vue warn]: Failed to mount component: template or render function not ...
- LINQ中的"延迟查询"特性【转】
本文转载自:LINQ中的"延迟查询"特性 详细了解“延迟查询”:C#学习笔记(八)—–LINQ查询之延迟执行 很多标准查询操作符的设计原型都是返回一个IEnumerable< ...
- Java NIO学习与记录(四): SocketChannel与BIO服务器
SocketChannel与BIO服务器 SocketChannel可以创建连接TCP服务的客户端,用于为服务发送数据,SocketChannel的写操作和连接操作在非阻塞模式下不会发生阻塞,这篇文章 ...
- [HNOI2019]鱼
Luogu5286 \(2019.4.14\),新生第一题,改了\(3\)个小时 题解-租酥雨,和出题人给的正解一模一样 枚举\(AD\),分别考虑鱼身\(BC\)和鱼尾\(EF\) 到\(E\),\ ...
- json兼容ie8
今天遇到一个问题,后台传递过来的json对象,在前端解析的时候用JSON.parse(result)方法不好使,查了一下是因为ie浏览器的问题.然后在网上翻了翻,找到了这个办法,可以使这个函数在ie中 ...
- symfony4 404页面未找到
symfony4 404页面未找到 安装好symfony4后,发现除了首页能正常显示,其他页面如/_profiler_/等其他创建的router访问都显示The requested URL /xxx ...
- Prufer序列与树的计数(坑)
\(prufer\)序列: 无根树转\(prufer\)序列: 不断找编号最小的叶子节点,删掉并在序列中加入他相连的节点. \(prufer\)转无根树: 找到在目前\(prufer\)序列中未出现且 ...