共享 github 共同开发(仅 2 个用户)造成无法解决的 push/pull 冲突
shared github codevelopment (only 2 users) creates unresolvable push/pull conflicts
我们正在尝试使用 github,但我们似乎用错了。我创建了一个包含原始数据文件、源代码、处理后的数据文件、结果文件(如 png 和 html 以及 csv 文件)的存储库。只要我是唯一使用它的人,一切都很好。但是,我已经授予协作者访问权限,现在她和我完全无法从存储库中拉取或推送。似乎创建处理过的数据文件正在造成不兼容性,使数据 pull/push 对我们双方都不可能。事实上,我们必须删除所有新工作才能获取,这使得 github 无法实现其预期目的,即共同开发代码(以及结果和数字等)
我们陷入僵局。当前的解决方法都不是最理想的:
a) 在 github 是单用户模式的概念下运行
b) 使用 git hub 进行文件传递,但不涉及主动开发,因此它变成了一个复杂的 dropbox。
我 认为 最好的策略是删除除最基本的源文件之外的所有文件,也许是原始不可触及的原始数据源文件。少即是多。 (没有什么是最好的?)但显然不支持从活动存储库中删除文件。也就是说,我可以将文件添加到.git忽略。我可以从我的本地图像中删除它们。但我必须先拉后推,然后它们又都出现了。变基不是答案。
有什么方法可以 "push" 文件删除事件吗?或者从 github.com 帐户中删除除 3 或 4 个文件之外的所有文件?还是我应该删除整个存储库并重新开始?或者我应该回到 svn,它对 png 文件等进行分层没有问题,并且只在源文件中有冲突时才声明冲突?
有什么方法可以教 github 只合并那些应该可以合理合并的文件,比如后缀为 .R、.h、.c、.cpp、.py、. javac、.html 等,并简单地以适当的版本号增量覆盖其他文件,如 svn?
在文档和在线中寻找这些问题的答案的努力只会使挫败感永久化。
感谢您的建议。
理想情况下,Git(以及 GitHub 中的存储库)应该用于源代码,而不是用于生成的 文件(您的“结果文件” ).
“原始不可触及的原始数据源文件。”如果它们是不可变的,也可能会进行版本控制。
如果您需要添加生成的文件(每次提交新源代码时可能会发生变化,并且会产生冲突),您可能会考虑,为了记住这些文件,到:
- 对所有这些非源文件进行归档(zip,tar,...)
- add it as a "release" 关联到您的提交
但是对于每个提交来说这似乎很麻烦。
我们正在尝试使用 github,但我们似乎用错了。我创建了一个包含原始数据文件、源代码、处理后的数据文件、结果文件(如 png 和 html 以及 csv 文件)的存储库。只要我是唯一使用它的人,一切都很好。但是,我已经授予协作者访问权限,现在她和我完全无法从存储库中拉取或推送。似乎创建处理过的数据文件正在造成不兼容性,使数据 pull/push 对我们双方都不可能。事实上,我们必须删除所有新工作才能获取,这使得 github 无法实现其预期目的,即共同开发代码(以及结果和数字等)
我们陷入僵局。当前的解决方法都不是最理想的: a) 在 github 是单用户模式的概念下运行 b) 使用 git hub 进行文件传递,但不涉及主动开发,因此它变成了一个复杂的 dropbox。
我 认为 最好的策略是删除除最基本的源文件之外的所有文件,也许是原始不可触及的原始数据源文件。少即是多。 (没有什么是最好的?)但显然不支持从活动存储库中删除文件。也就是说,我可以将文件添加到.git忽略。我可以从我的本地图像中删除它们。但我必须先拉后推,然后它们又都出现了。变基不是答案。
有什么方法可以 "push" 文件删除事件吗?或者从 github.com 帐户中删除除 3 或 4 个文件之外的所有文件?还是我应该删除整个存储库并重新开始?或者我应该回到 svn,它对 png 文件等进行分层没有问题,并且只在源文件中有冲突时才声明冲突?
有什么方法可以教 github 只合并那些应该可以合理合并的文件,比如后缀为 .R、.h、.c、.cpp、.py、. javac、.html 等,并简单地以适当的版本号增量覆盖其他文件,如 svn?
在文档和在线中寻找这些问题的答案的努力只会使挫败感永久化。
感谢您的建议。
理想情况下,Git(以及 GitHub 中的存储库)应该用于源代码,而不是用于生成的 文件(您的“结果文件” ).
“原始不可触及的原始数据源文件。”如果它们是不可变的,也可能会进行版本控制。
如果您需要添加生成的文件(每次提交新源代码时可能会发生变化,并且会产生冲突),您可能会考虑,为了记住这些文件,到:
- 对所有这些非源文件进行归档(zip,tar,...)
- add it as a "release" 关联到您的提交
但是对于每个提交来说这似乎很麻烦。