我正在Github上托管我的博客,并且总是将我的新内容推送到源代码库。但是,事情已经发生了变化,我已经删除/交换了我博客的一些元素。 现在,我才意识到我所有的旧东西都在Github上。这就像我曾经向Github推送的所有东西。
我的问题:我可以用什么命令让我的本地代码再次与我的Github仓库同步?
答案 0 :(得分: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
因为它可以避免意外地将错误的分支合并到错误的分支或忘记本地更改。
以上所有假设您只是与主人合作。这些天我的大部分工作都是在分支机构中完成的(顺便提一下,它们与旧版本控制系统(如CVS)中的分支机构不同)。
答案 1 :(得分:0)
只需git commit
在您当地的git push
Doc:http://gitready.com/beginner/2009/01/21/pushing-and-pulling.html
答案 2 :(得分:0)
如果我正确理解了您的问题,您希望摆脱Github存储库中的所有提交,并将其替换为您在本地提交的提交。 如果是这种情况,请尝试以下命令:
git push -f
这会将您的提交推送到服务器,忽略已经存在的历史记录。
当心:您将丢失与您的本地仓库无法共享的Github仓库的所有历史记录,因此请确保这是您想要的!
答案 3 :(得分:0)
使用以下命令从远程
中提取数据git pull
如果您有本地提交的遥控器上没有的提交,请使用
git pull --rebase