从github中提取新版本时,如何丢弃我的Git存储库中的本地更改?

rfc*_*484 5 git workflow github

我在过去几天开始学习git,我有一个基本的问题.

想象一下这种情况:

您创建一个空文件夹,然后在那里创建一个foo.txt文件.

为了将数据推送到远程存储库(例如github),您可以执行以下命令:

  • git init - >为了初始化文件夹中的存储库
  • git add . - >为了将索引中的所有文件添加到索引中,在本例中为foo.txt
  • git commit -m "First commit" - >我们进行第一次提交
  • git remote add origin git@github.com:username/gitrepository.git - >我们添加了github存储库
  • git push origin master - >我们将更改推送到远程存储库

    1. 现在在github存储库中,您只有一个foo.txt文件.

    2. 所以现在你在另一台机器上并且想要使用存储库,因此你创建一个空文件夹并从远程存储库中提取数据.
      然后创建一个名为bar.txt的文件,删除foo.txt,将文件(bar.txt)添加到索引,进行提交并将更改推送到远程存储库.

    3. 现在在存储库中我们只有bar.txt文件

    4. 但是现在在第一台机器上我们仍然有foo.txt文件,如果我们从远程存储库中取出,我们有foo.txt和bar.txt.

但这不是我想要做的,我想从存储库中提取所有文件并仅使用这些文件.所以在这个例子中,如果我现在只在存储库中有bar.txt,当我进行拉动时,我不想在我的项目文件夹中有任何其他文件.

你是如何管理的?

Ben*_*ine 5

我想你错过了2中的一步.

您必须从索引中删除foo.txt文件.它需要一个特定的命令("git add."只将文件放入索引但不删除文件):

  • git rm foo.txt
  • git add -u(从索引中删除工作区中不再存在的所有文件)

然后提交.

在步骤3,在拉动第一台计算机后,foo文件应该已经消失.