呐,其实有些特别的Git,是只有一个master分支的,所以推送就可以直接用如下指令实现推送:

git push origin master

如果当前分支只有一个追踪分支,那么主机名都可以省略和分支都可以省略。

git push

[……]

Read more

以下代码,实现了强制拉取remote更新到本地,无视本地任何修改~

git fetch --all  git reset --hard origin/master git pull

以上内容摘录自:Git pull 强制覆盖本地文件[……]

Read more

需求其实就是简单的,确认下本地和remote的版本号是否一致,不一致就拉更新~三句代码:

git remote -v updategit rev-parse @git rev-parse @{u}

第一句是远端信息更新(不会对本地有任何改变)第二句是输出本地目前所处版本哈希第三句是输[……]

Read more

练习五十三,你决定通过运行`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