我 Git 命令列表 (2)【转】
2016-02-16 23:10
447 查看
转自: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 帖子到此博客不影响
因此,起草了我新的职位上
完成后的草案,我犯下的变化、 切换到
被陌生与显示的数学方程1kramdown 语法,我犯了一些错误在源代码中为我以前的帖子上
(上次编辑君 19,2014)
从网络图中,我意识到我在了解合并在 Git 中的错误。我不应该手动犯下同样的变化,不同的分支,但也要将它提交一次只上一个分支和合并时提交另一个分支,如果两个不同分支之间没有冲突。
我继续写
在文件中删除提交,但保持所做的更改。
"移动"更改后的文件从
提交对
将
我发出下面的命令来做到这一点。
此列表用中文写的是一个 Git 命令的快速摘要。我学会了使用
在最后一次"合并"命令,
网页中的堆栈溢出真的是我的朋友。(URL)
撤消的矛盾的合并
供应链管理会说:
因此,问题合并没有一直致力。简单地运行
撤消成功自动合并
使用
增加的内容在
删除的
在
线开始与
线从开始比较,
为预测是否会有冲突,需要知道每个分支上做更改已完成。因此,我们需要比较尖端的每个分支与他们共同的祖先。
让我举出两个例子作为说明。
示例 1
一个人有这样一个文件。
两个分支的父
然后它被分为两个分支。
分支 1 (线 1 删除)
分支 2 (线 2 删除)
运行
示例 2
一个人有这样一个文件。
两个分支的父
然后它被分为两个分支。
分支 1 (线 2 插入)
分支 2 (线 1 插入)
运行
观察: diff 帅哥中的两个例子都相同,即使它们的共同祖先和文件中的更改是不同.
因为我试图导入我旧的 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分支上发生的变化。我很想去
在文件中删除提交,但保持所做的更改。
"移动"更改后的文件从
wpcom-importer到
source分支。
提交对
source分支更改。
将
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,和听不懂那些从那里的两个命令之间的区别。
网页中的堆栈溢出真的是我的朋友。(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 大块可以引起要么
增加的内容在
<branch1>;或
删除的
<branch2>中的内容.
在
<branch2>上运行
git merge <branch1>在不同情况下给出了不同的结果。
线开始与
-比较中大块将插入到
<branch2>.
线从开始比较,
-大块会插入到
<branch1>.
为预测是否会有冲突,需要知道每个分支上做更改已完成。因此,我们需要比较尖端的每个分支与他们共同的祖先。
让我举出两个例子作为说明。
示例 1
一个人有这样一个文件。
两个分支的父
1 2 3 | line 1 line 2 line 3 |
分支 1 (线 1 删除)
1 2 | line 2 line 3 |
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 |
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>.
相关文章推荐
- KMP模板
- videoView
- 【转】主题模型--pLSA,LDA
- Windows10强力卸载OneDrive
- 新手上道,教你如何使用http://jingyan.baidu.com/article/cdddd41c5cf93353ca00e16d.htm创建一个html+php+js+mysql
- Video-No.04 燕十八:MySQL视频教程
- Android注解使用快速入门
- 给已经建立的Xcode工程添加git版本控制
- junit
- POJ 3461 (KMP)
- Linux与Windows共享文件夹之samba的安装与使用(Ubuntu为例)
- Android开发者必知的5个开源库
- 我 Git 命令列表 (1)【转】
- hdu acm 1115 Lifting the Stone(多边形重心)
- [maya学习笔记(2)] 物体的基本操作
- bzoj 3994
- Activity—生命周期方法
- Stunnel使用2
- Spring Ioc原理
- 后台开发高频面试题目