转自:http://www.microsofttranslator.com/bv.aspx?from=en&to=zh-CHS&a=http%3A%2F%2Fvincenttam.github.io%2Fblog%2F2014%2F06%2F17%2Fmy-git-command-list-2%2F

因为我试图导入我旧的 WordPress 帖子到此博客影响source分支,我创建了一个新的分支,称为wpcom-importer分支,对rake deploy成功的运行。然而,一些我旧的 WordPress 博客包含一些特殊的字符,触发给 Octopress 进口商庄的 WordPress XML编码问题。rake错误消息来看,我觉得我已经把转换的员额从 WordPress 的 XML 的右边的树枝上。

因此,起草了我新的职位上source分支,但不是wpcom-importer分支上。然后切换到wpcom-importer并删除一些不需要的部分的 XML 文件。然而,我不能切换回source分支做另一个提交。因此,我用git stash来解决问题。

完成后的草案,我犯下的变化、 切换到wpcom-importer和"合并"上次更改对source分支为rake preview。在source分支上运行预览命令的理由是为了避免在public文件夹中的巨大变化。已经学会了做"合并",从这里

陌生与显示的数学方程1kramdown 语法,我犯了一些错误在源代码中为我以前的帖子source分支写入草案时。


(上次编辑君 19,2014)

从网络图中,我意识到我在了解合并在 Git 中的错误。我不应该手动犯下同样的变化,不同的分支,但也要将它提交一次只上一个分支和合并时提交另一个分支,如果两个不同分支之间没有冲突。

我继续写<posts>。不幸的是,我有wpcom-importer,而不是source分支上发生的变化。我很想去

  1. 在文件中删除提交,但保持所做的更改。
  2. "移动"更改后的文件从wpcom-importersource分支。
  3. 提交对source分支更改。
  4. source分支中的更改合并到wpcom-importer.

我发出下面的命令来做到这一点。

$ git reflog                   # For checking purpose
$ git reset --soft HEAD^ # Revert to the previous commit
$ git log -3 # For checking purpose
$ git status # `<post>' should be in `... not staged for commit'
$ less <post> # For checking purpose
$ git reset HEAD <post> # Unstage `<post>' for commit
$ git checkout source # Go to the correct place for the commit
$ git add <post> # Add back `<post>' to `source' branch
$ git commit -am "<msg>" # Do the commit on the correct branch
$ git checkout wpcom-importer # Go back to another branch for merging
$ git merge source # Merge the changes back

小列表

收起和抓取

"藏"的手段,去另一支在这里临时区域中未提交的更改。

此列表用中文写的是一个 Git 命令的快速摘要。我学会了使用git stash命令从那里。

$ git stash                      # save the uncommitted changes
$ git stash list # show a list of stashes
$ git stash show # inspect a list of stashes
$ git stash pop # apply and discard the topmost stash
$ git stash apply # apply but don't discard the topmost stash
$ git checkout source -- <file> # copy the file from other branch

在最后一次"合并"命令, --避免歧义因为source可以是一个分支或文件夹的名称在这种情况下。此外,此命令会影响提交历史。

更多关于倒带的事情

回溯到以前的版本在同一分支

这里是关于重置工作树与以前的版本更多的命令。

$ git reset --soft HEAD^   # Revert to the previous commit without changing the files
$ git reset --hard HEAD~2 # Take a further step back from `HEAD' and discard all changes in the files in the disappeared commits

重置和还原的东西之间的区别

本手册的git reset,看到了一个链接到git revert,和听不懂那些从那里的两个命令之间的区别。

如果你想要撤消提交以外最新的一个分支, git-revert(1)是你的朋友。

网页中的堆栈溢出真的是我的朋友。(URL)git revert不会覆盖提交历史,所以它适合发布的更改,虽然git reset可以改写历史。

撤消合并

请参阅撤消合并或拉git reset为解释手册 》 中的以下部分。

撤消的矛盾的合并

供应链管理会说:

Automatic merge failed; fix conflicts and then commit the result.

因此,问题合并没有一直致力。简单地运行git reset --hard将解决这个问题。

撤消成功自动合并

使用ORIG_HEAD而不是HEAD的分支合并前提示。(即git reset --hard ORIG_HEAD)

使用 git diff 合并提交

(添加在 2014 年 6 月 20 日)

一个缺点"......"

乐极生悲可能在git merge中发生的冲突,其中一个可能运行git diff <branch1>..<branch2>看出两个分歧分支之间的差异。然而,比较大块,并不表明添加和删除每个分支上。-在 diff 大块可以引起要么

  1. 增加的内容在<branch1>;或
  2. 删除的<branch2>中的内容.

<branch2>上运行git merge <branch1>在不同情况下给出了不同的结果。

  1. 线开始与-比较中大块将插入到<branch2>.
  2. 线从开始比较, -大块插入到<branch1>.

为预测是否会有冲突,需要知道每个分支上做更改已完成。因此,我们需要比较尖端的每个分支与他们共同的祖先。

让我举出两个例子作为说明。

示例 1

一个人有这样一个文件。

两个分支的父

1
2
3
line 1
line 2
line 3

然后它被分为两个分支。

分支 1 (线 1 删除)

1
2
line 2
line 3
分支 2 (线 2 删除)

1
2
line 1
line 3

运行git diff <branch1>..<branch2>,一个获取

+line 1
-line 2
line 3
示例 2

一个人有这样一个文件。

两个分支的父

1
line 3

然后它被分为两个分支。

分支 1 (线 2 插入)

1
2
line 2
line 3
分支 2 (线 1 插入)

1
2
line 1
line 3

运行git diff <branch1>..<branch2>一个获取

+line 1
-line 2
line 3

观察: diff 帅哥中的两个例子都相同,即使它们的共同祖先和文件中的更改是不同.

克服缺点

从上述的子部分中,很明显那个需要比较尖的每个分支上用两个分支的共同祖先。来看看如何<branch1>已被修改,git diff <branch2>...<branch1>可以用来比较的提示<branch1>与的共同祖先<branch1><branch2>.

我 Git 命令列表 (2)【转】的更多相关文章

  1. 我 Git 命令列表 (1)【转】

    转自:http://www.microsofttranslator.com/bv.aspx?from=en&to=zh-CHS&a=http%3A%2F%2Fvincenttam.gi ...

  2. 关于常用的git命令列表

    我博客园中所写的git内容几乎都是看的蒋鑫老师的<git权威指南>这本书实在太好了. 常用的Git命令. git add  添加到暂存区 git add interactive  交互式添 ...

  3. 常look的Git命令

    常用的Git命令   命令  简要说明 git add 添加至暂存区 git add–interactive 交互式添加 git apply   应用补丁 git am  应用邮件格式补丁 git a ...

  4. Git命令行(转用于学习和记录)

    Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...

  5. Git命令详解

    一个中文git手册:http://progit.org/book/zh/ 原文:http://blog.csdn.net/sunboy_2050/article/details/7529841 前面两 ...

  6. Git 命令速查表

    Git 命令速查表 1.常用的Git命令 命令 简要说明 git add 添加至暂存区 git add-interactive 交互式添加 git apply 应用补丁 git am 应用邮件格式补丁 ...

  7. git命令实战之血泪记录

    注意: 本文章所写所有命令均在Git命令行窗口执行!非cmd窗口! 打开git命令行窗口步骤为:到项目根目录下执行bash命令行操作:右键点击Git Bash Here菜单,打开git命令窗口,不是c ...

  8. 一天工作所用到的Git命令

    一天工作所用到的Git命令 像大多数新手一样,我一开始是在网上搜索 Git 命令,然后把答案复制粘贴,并没有真正理解它们究竟做了什么. 后来我曾经想过:"如果有一个最常见的 Git 命令的列 ...

  9. git命令的理解与扩展

    Git的模式如图: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Repository:仓库区(或本地仓库) 一.新建代码库 # 查看gi ...

随机推荐

  1. 【笔记】ASP.NET MVC Model元数据

    问题1:什么叫Model元数据? Model元数据,是针对数据类型的一种描述信息.由于复杂类型(或者说类型嵌套的存在,比如CustomerModel中有一个属性为复杂类型Address)的存在,因此M ...

  2. Mac下safari、chrome打开开发者工具快捷键

    mac下safari和chrome打开开发者工具的快捷键相同,都是option(alt)+command+i 这个是我的默认配置,没有更改过的.

  3. 读书笔记:<世界是数字的>

    世界是数字的?第一次听到这个名词不由的感到惊讶,我有听过地球是海洋的,那世界不应该是人类共同拥有的吗或者也可以说世界是大自然的?为什么世界偏偏是数字的呢?我带着满心的疑问去看了那本<世界是数字的 ...

  4. 临时文档9--dfs

    #include<iostream> #include<stdio.h> #include<math.h> #include<string.h> usi ...

  5. Vim 常用命令 一

    今天第一次学习了 Vim编辑器的一些使用  拿出来和大家分享下. 1.首先 列出 常用快捷键 u 表示 撤销上一步 x 表示 删除光标位内容 dd 表示 删除光标所在行内容 >G   表示 光标 ...

  6. draw call 的优化

    用一张贴图,renderstate都设置成一致,多个draw合并成一个

  7. Beginners Guide To Learn Dimension Reduction Techniques

    Beginners Guide To Learn Dimension Reduction Techniques Introduction Brevity is the soul of wit This ...

  8. Sencha Touch 2.4 callParent() 用法

    callParent() 用法 方法介绍 用来调用父类的同名方法,并传参,这在从一个框架类派生且要重写诸如onRender这样的方法时会经常看到. 传参方式 1.arguments Ext.defin ...

  9. MAC OS下使用Xcode进行GLSL编程的配置过程

    整理自之前使用的163博客原创文章. GLSL项目中需要使用GLEW库,因此先要安装GLEW库和在Xcode中配置GLEW.要使GLEW在Xcode中被正确链接,又需要通过MacPorts来安装GLE ...

  10. Mac Air maven 环境配置

    mave 的配置 检出项目遇到问题: Could not calculate build plan: Failure to transfer org.apache.maven.plugins:mave ...