GitHub - 将现有项目拉到本地并替换现有文件而不删除不存在的文件
GitHub - Pull localy an existing project and replace existing files without removing non existing one
出于某些原因,我在两台不同的计算机上处理同一个项目。
我想在其中一个中工作,将更改保存到提交并将其推送到 GitHub 存储库。当我回到家时,如果我想继续做这个项目,我只想把它从 GitHub 拉出来,然后从我离开的地方开始工作。
问题是我的项目中有我不想上传到 GitHub 的文件(作为 API 凭据、测试文件等),我已将它们声明在我的.gitignore
文件。
我想问问你们,假设我的计算机中有一个旧版本的项目,上面有所有的凭据和测试文件;我 cd
对它进行拉取:它会用新版本替换现有文件吗?保留 GitHub 提交中未包含但它们在我的本地存储库中的文件,或者它会破坏整个本地存储库并破坏凭据和测试文件吗?
有没有更好的方法来实现我想要的,而不必手动复制不存在的文件?
如果你从家用电脑上拉,它可以做以下事情之一 -
- 如果 git 发现没有冲突的更改,则成功将更改从远程拉取到本地。
- 如果无法直接从远程获取更改,则给出错误,因为
您的本地分支中存在冲突更改。
在后一种情况下,您必须解决冲突,然后来自远程的更改才能成功合并到您的本地分支。
如果你的回购中有一些未提交的文件,如你提到的 API creds、tests 等,如果你执行 git pull,git 会给你一个错误并告诉您提交或隐藏您的更改。
此处保留本地文件并仍然从远程提取更改的最佳选择是 - 存储!
如果你运行
git stash
它会将您未提交的文件移动到一个名为 Stash 的区域。执行此操作后,您的本地存储库将被清理,您将能够从远程提取更改。如果您现在想要恢复您的更改,您可以这样做
git stash pop
这会将最近隐藏的更改弹出回您的存储库!您可以根据需要多次存储,git 将其保存在列表中。可以通过
访问
git stash list
您甚至可以通过 -
有选择地从存储列表中取出物品
git stash apply stashListNumber
注意:您将只能隐藏那些被 git 跟踪的文件。如果你添加了一些文件但根本没有提交,你可以将它们保留在你的 repo 中而不必担心任何冲突并且仍然可以成功地从远程拉取。
希望对您有所帮助。
出于某些原因,我在两台不同的计算机上处理同一个项目。
我想在其中一个中工作,将更改保存到提交并将其推送到 GitHub 存储库。当我回到家时,如果我想继续做这个项目,我只想把它从 GitHub 拉出来,然后从我离开的地方开始工作。
问题是我的项目中有我不想上传到 GitHub 的文件(作为 API 凭据、测试文件等),我已将它们声明在我的.gitignore
文件。
我想问问你们,假设我的计算机中有一个旧版本的项目,上面有所有的凭据和测试文件;我 cd
对它进行拉取:它会用新版本替换现有文件吗?保留 GitHub 提交中未包含但它们在我的本地存储库中的文件,或者它会破坏整个本地存储库并破坏凭据和测试文件吗?
有没有更好的方法来实现我想要的,而不必手动复制不存在的文件?
如果你从家用电脑上拉,它可以做以下事情之一 -
- 如果 git 发现没有冲突的更改,则成功将更改从远程拉取到本地。
- 如果无法直接从远程获取更改,则给出错误,因为 您的本地分支中存在冲突更改。
在后一种情况下,您必须解决冲突,然后来自远程的更改才能成功合并到您的本地分支。
如果你的回购中有一些未提交的文件,如你提到的 API creds、tests 等,如果你执行 git pull,git 会给你一个错误并告诉您提交或隐藏您的更改。
此处保留本地文件并仍然从远程提取更改的最佳选择是 - 存储!
如果你运行
git stash
它会将您未提交的文件移动到一个名为 Stash 的区域。执行此操作后,您的本地存储库将被清理,您将能够从远程提取更改。如果您现在想要恢复您的更改,您可以这样做
git stash pop
这会将最近隐藏的更改弹出回您的存储库!您可以根据需要多次存储,git 将其保存在列表中。可以通过
访问git stash list
您甚至可以通过 -
有选择地从存储列表中取出物品git stash apply stashListNumber
注意:您将只能隐藏那些被 git 跟踪的文件。如果你添加了一些文件但根本没有提交,你可以将它们保留在你的 repo 中而不必担心任何冲突并且仍然可以成功地从远程拉取。
希望对您有所帮助。