1

我在 Github 上托管我的博客,并且一直将我的新内容推送到源代码库。然而,事情已经发生了变化,我已经删除/交换了我博客的一些元素。现在,我才意识到我所有的旧东西仍然在 Github 上。就像我曾经推送到 Github 的所有东西一样。

我的问题:我可以使用什么命令让我的本地代码再次与我的 Github 存储库同步?

4

4 回答 4

2

鉴于您通常推送,我猜在这种情况下服务器上的内容发生了变化,所以在这种情况下您可以:

git pull # get the stuff from the server and merge it into your repo.

git push # push the combined stuff back out.

不过……这还是使用了看不见的魔法。这些天我实际上做的是以下几点:

git fetch  # First fetch the server changes into your tracking branch
git merge  # Merge those changes into yours
git push   # Push those changes out.

然后,将来,如果服务器上有更改,在进行本地更改之前,您可以执行以下操作:

git pull  

虽然在这里我也更喜欢:

git fetch            # Get the latest
git reset --hard origin/master # set your local to be the same as the tracking branch.
# Make changes locally
# git add .          # Add the changes to git
# git commit -m"msg" # Commit the changes

因为它可以避免意外合并到错误的分支或忘记本地更改。

以上所有假设您只是在与 master 合作。这些天来,我的大部分工作都是在分支中完成的(顺便说一下,这与旧版本控制系统(如 CVS)中的分支不同)。

于 2013-04-11T22:11:44.660 回答
0

使用以下命令从远程提取数据

git 拉

如果您在本地进行了远程不存在的提交,请使用

git pull --rebase

于 2013-04-12T09:09:14.017 回答
0

如果我正确理解了您的问题,您希望摆脱 Github 存储库中的所有提交,并将它们替换为您在本地拥有的提交。如果是这种情况,请尝试以下命令:

git push -f

这会将您的提交推送到服务器,而忽略已经存在的历史记录。

注意:您将丢失您的 Github 存储库中未与本地存储库共享的所有历史记录,因此请确保这是您想要的!

于 2013-04-11T22:20:24.990 回答
0

git commit在你当地做一个git push

文档: http: //gitready.com/beginner/2009/01/21/pushing-and-pulling.html

于 2013-04-11T22:09:58.180 回答