我通常使用以下文档将现有项目添加到Github。 https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
文档也说.. 为避免错误,请勿使用README,许可证或gitignore文件初始化新存储库。您可以在将项目推送到GitHub后添加这些文件。
所以现在当我第一次推送更改时,所有不必要的 jar文件/目标目录/ ide 文件都被推送。然后我通过像这样添加.gitignore手动排除这些文件..
$ echo '.idea' >> .gitignore
$ git rm -r --cached .idea
$ git add .gitignore
$ git commit -m '(some message stating you added .idea to ignored entries)'
$ git push
答案 0 :(得分:4)
首先不添加.gitignore
文件的一个原因是确保跟踪所有文件。这样你就不会意外地遗漏一个重要的目录。如果您知道自己在做什么 - 在提交之前添加相应的.gitignore
模板。
git历史记录中仍存在.idea
目录。 Github上的存储库中有关于removing sensitive data的大量文档。
答案 1 :(得分:3)
在本地进行初始提交时,不要包含存储库中不需要的文件。即:
cd project_directory
git init
git add <everything_except what you do not need>
。如果您不想使用.gitignore
,则可以移动/删除不在存储库中的文件。如果您想彻底清除存储库中的文件,另请参阅this answer。
答案 2 :(得分:2)
为避免错误,请不要使用 README ,许可证或
gitignore
文件初始化新存储库。将项目推送到GitHub后,可以添加这些文件。
这有点误导。将这些文件放在本地存储库中并在推送时包括它们,即使是第一次也没有任何错误。
以下是一个更清晰的建议:
在GitHub上创建存储库时,请不要使用&#34;使用自述文件初始化此存储库&#34;选项,如下所示:
此选项适用于全新的存储库,但如果您在计划推送现有存储库时使用它,则会让您头疼。这就是原因:
- 使用此选项时,可以直接在GitHub中创建提交。此提交在本地项目中的任何位置都不存在。
- 当您推送现有项目时,Git将无法使用您在初始化时创建的单独提交来解析其历史记录。这两个存储库不共享提交,因此无法相互自动解决。
醇>但是,如果您希望在本地存储库中包含
README
,.gitignore
或许可文件,并在推送时包含这些文件,请随时执行此操作