转自: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. 代码优先-Code First

    非常有用的两篇文章 MSDN:Code First 迁移 博客园:CodeFirst数据迁移(不丢失数据库原有数据) EF有三种开发模式:Model First,Database First 和 Co ...

  2. Hdu 1009 FatMouse' Trade 分类: Translation Mode 2014-08-04 14:07 74人阅读 评论(0) 收藏

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. 第一个 bat 文件

    要写一个批处理命令 转换场景数据 包括从文件里读入 每一行信息是一个要转换的场景名字 可以拼出路径 到指定路径 执行命令 http://blog.csdn.net/mfx1986/article/de ...

  4. Codeforces Round #248 (Div. 2)C 题

    题目:http://codeforces.com/contest/433/problem/C 没想到做法就各种纠结, 今天做的都快疯掉了, 太弱了, 等题解一出,就各种恍然大悟 不应该不应该 正文: ...

  5. xxx.properties获取方法

    1.手动获取加载 Locale locale = Locale.getDefault(); ResourceBundle localResource = ResourceBundle.getBundl ...

  6. 安装wine qq2012

    添加软件源:vi /etc/apt/sources.list deb http://http.kali.org/kali kali main non-free contribdeb-src http: ...

  7. nginx规则和ci的支持

    CI框架下nginx重写规则,不再404 http://blog.csdn.net/EI__Nino/article/details/8599304 server { listen 80; serve ...

  8. Message,MessageQueue,Looper,Handler详解

    Message,MessageQueue,Looper,Handler详解   一.几个关键概念 1.MessageQueue:是一种数据结构,见名知义,就是一个消息队列,存放消息的地方.每一个线程最 ...

  9. com组件的注册

    错误: 检索 COM 类工厂中 CLSID 为 {79AD7B73-C515-40B4-8B02-CB0F5FA5A1A8} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 ...

  10. (12)nehe教程6 纹理映射

    在这一课里,我将教会你如何把纹理映射到立方体的六个面. 学习 texture map 纹理映射(贴图)有很多好处.比方说您想让一颗导弹飞过屏幕.根据前几课的知识,我们最可行的办法可能是很多个多边形来构 ...