从零开始使用git第三篇:git撤销操作、分支操作和常见冲突
从零开始使用git
第三篇:git撤销操作、分支操作和常见冲突
第三篇:从零开始使用git第三篇:git撤销操作、分支操作和常见冲突
1.撤销操作
官方文档:Git 基础 - 撤消操作
任何时候,你都有可能需要撤销刚才所做的操作。接下来,我们会介绍一些基本的撤销操作相关的命令。
请注意,有些撤销操作是不可逆的,所以请务必谨慎小心。
(1)修改最后一次提交
有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了,想要撤销刚才的提交操作,可以使用--amend选项重新提交
git commit --amend
(2)取消已经暂存的文件
举个例子,有两个修改过的文件,我们想要分开提交,但不小心用git add .全加到了暂存区域。该如何撤销暂存其中的一个文件呢?
git status的命令的输出已经告诉了我们该怎么做:
git add .
git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) modified: README.txt
modified: benchmarks.rb
取消暂存benchmarks.rb文件:
git reset HEAD benchmarks.rb
Unstaged changes after reset:
M benchmarks.rb
git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) modified: README.txt Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory) modified: benchmarks.rb
这条命令看起来有些古怪,先别管,能用就行。现在benchmark.rb文件又回到了之前已经修改未暂存的状态
(3)取消对文件的修改
如果觉得刚才对benchmark.rb的修改完全没有必要,该如何取消修改,回到修改之前的版本呢?
git status同样提示了具体的撤销方法
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory) modified: benchmarks.rb
抛弃文件修改的命令:
git checkout -- benchmarks.rb
git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) modified: README.txt
这条命令有些危险,所有对文件的修改都没有了。
记住,任何已经提交到Git的都可以被恢复。即便在已经删除的分支中的提交。或者用--amend重新改写的提交都可以被恢复。
2.分支操作
(1)在Git中,HEAD是一个指向你正在工作中的本地分支的指针(将HEAD想象为当前分支的别名)
(2)Git的实现与项目复杂度无关,它永远可以在几毫秒的时间内完成分支的创建和切换。
摘自Git官方文档:Git 分支
(留坑)
3.常见冲突及解决
(留坑...)
更多参考git官方文档:https://git-scm.com/book/zh/v1/
从零开始使用git第三篇:git撤销操作、分支操作和常见冲突的更多相关文章
- git第三篇---建立一个project
Git global setup: git config --global user.name "xx" git config --global user.email " ...
- Git(三)Git的远程仓库
一. 添加远程库 现在我们已经在本地创建了一个Git仓库,又想让其他人来协作开发,此时就可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备份.常用的远程仓库就是github:https://g ...
- git学习(三):git暂存区
回顾之前学过的命令: git init // 初始化一个项目 git add // 将文件交给工作区 git commit // 提交修改 查看提交日志: git log // 查看提交日志 git ...
- Git学习之路(6)- 分支操作
▓▓▓▓▓▓ 大致介绍 几乎所有的版本控制系统都会支持分支操作,分支可以让你在不影响开发主线的情况下,随心所欲的实现你的想法,但是在大多数的版本控制系统中,这个过程的效率是非常低的.就比如我在没有学习 ...
- 【Git的基本操作十】远程库分支操作
远程库分支操作 1. 推送分支 在本地库新建分支 git branch [新分支名] 如创建一个develop分支: git branch develop 推送分支(将新分支发布在github上) g ...
- Git实战指南----跟着haibiscuit学Git(第三篇)
笔名: haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...
- Git使用三:git的使用流程
先创建仓库 创建一个文件夹,作为仓库使用 初始化仓库,在仓库目录的命令行下输入:git init 第一步:创建一个文件,并写入内容,这里写入内容的时候,要把编码设置为utf-8 第二步:输入命令将文件 ...
- 第三篇(那些JAVA程序BUG中的常见单词)
illegal modifier for parameter xxx; only final is permitted 参数xxx的修饰符非法:只允许final illegal 非法的 modifie ...
- app测试自动化之混合APP(之前的三篇为原生APP的操作)
混合开发的App中,经常会有内嵌的H5页面:定位方法与原生APP不同,需要上下文切换 #获取所有上下文contexts=dr.contextsprint(contexts)#打印当前上下文(有点问题应 ...
随机推荐
- Kinect 开发 —— 常见手势识别(上)
悬浮按钮 (Hover Button) 悬浮按钮通过将鼠标点击换成悬浮然后等待(hover-and-wait)动作,解决了不小心点击的问题.当光标位于按钮之上时,意味着用户通过将光标悬浮在按钮上一段时 ...
- storm排错
1.运行错误如下 Exception in thread "main" java.lang.RuntimeException: org.apache.thrift7.transpo ...
- 欧拉回路&欧拉路径学习笔记
基础性质(用来判定): 1.无向图欧拉回路没有奇数点 (有向图所有点入度等于出度) 2.无向图欧拉路径只有两个奇数点 (有向图有一个顶点入度比出度大1,有一个顶点出度比入度大1,其他的全相等) 3.图 ...
- IDLE的自动补全功能
IDLE的自动补全功能位于:Edit→Show Completions,但每次需要补全的时候都需要点击一次,虽然IDLE提供了一个快捷键(Ctrl + Space),但实测无效.具体操作如下图
- 国内搜索大哥iOS面试题
每一次面试之后都会对问到的面试题进行总结. 这篇总结的是我面试某大型搜索公司的iOS面试题.一面(15min)+二面(30min).并拿到实习offer.当然在今天这个特殊的节日,祝大家新年快乐.希望 ...
- [leetcode] Palindrome Number(不使用额外空间)
本来推断回文串是一件非常easy的事情,仅仅须要反转字符串后在与原字符串相比較就可以.这道题目明白说明不能使用额外的空间.那么使用将其分解连接成字符串的方法便不是可行的.仅仅好採用数学的方式: 每次取 ...
- UICollectionView 集合视图 的使用
直接上代码: // // RootViewController.m // // #import "RootViewController.h" #import "Colle ...
- XMPP开发之从零開始
对于server的搭建和设置.我在这里就不再多说了.有好多前辈已经帮大家攻克了.能够參考下这篇博客 XMPPserver配置 我依照这个博客配置好了,server后,然后在网上參照代码写了一个小的de ...
- 7.Node.js 创建第一个应用
转自:http://www.runoob.com/nodejs/nodejs-tutorial.html 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器, ...
- Codefroces 832B Petya and Exam
B. Petya and Exam time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...