练习五十三,你决定通过运行`git reset –hard HEAD ^`来删除最新提交(这不是明智之举)。然后你个贱人又改变主意想恢复已删除的提交。使用代码:

git reflog

查看修改状态。得知需要恢复的哈希是:e5edfd9。

git checkout e5edfd9

练[……]

Read more

练习五十,你在一个文件中修改了隶属于两个不同特性的功能。但这些修改都未被Stage(声明)。现在请Stage(声明)其中一个隶属于first feature的修改。使用代码:

git status

查看修改状态。得知文件是feature.rb。

git add feature.rb -e

[……]

Read more

练习四十八,你用错误的顺序提交了很多次提交,现在重新排序你的提交。使用代码:

git log

仔细看的话,发现最后两次提交顺序不对,继续修改喽~

git rebase -i HEAD~2

输出一些信息,我们要修改commit的拼写错误,所以编辑最开头的:

pick fccc99b Fi[......]

Read more

练习四十五,修正你首次提交(First coommit)的拼写错误。使用代码:

git log

仔细看的话,可以发现确实有提交说明为First coommit的一次提交,获得其之前的哈希:xxxx2040083d5cd59f85b0134fe44d5df5c8bbf8

git rebase[......]

Read more

练习四十三,你的新特性不值得耗费这么多时间,所以你打算删掉他。但你不想删除其中已经提交的`README`文件,因为你想保留`README`在master。想想怎么处理。其实就是只给master应有某个提交。使用代码:

git branch

查看所有分支。使用

git log new-f[......]

Read more

练习四十,我们正在使用git rebase工作流,并且feature 分支已准备好并入master分支。 请使用rebase功能将feature分支整合到master分支上。使用代码:

git rebase master feature

练习四十一,你已经从`wrong_branch`创[……]

Read more

练习三十七,你在本地分支做了一些修改想分享出去,但是你又不想把这些修改合并到master分支。尝试只Push ‘test_branch’分支到远端仓库。使用代码:通过

git branch

查看本地所有的分支使用:

git push origin test_branch

只推送本[……]

Read more

练习三十四,你需要修复一个位于1.2版本的BUG,Checkout TAG `v1.2`(注意:有个分支也叫`v1.2`,别特么搞错了)。使用代码:

git checkout tags/v1.2

练习三十五,你忘记在提交前建立分支了,请建立一个给予最后一次提交之前的分支`test_bra[……]

Read more

练习三十一,你需要处理一些代码,和现有代码有冲突,所以得建立一个分支才行。请建立一个名为test_code的分支。使用代码:

git branch test_code

练习三十二,建立并切换到my_branch分支。使用代码:

git checkout -b my_branch

[……]

Read more

练习二十八,你的本地master分支和远端仓库的origin/master分支有分歧,请把当前的修改合并到origin/master分支并推送到远端仓库。使用代码:

git rebase origin/mastergit push

练习二十九,自上次提交后,你对文件`app.rb`做了修[……]

Read more