Xcode项目显示了两个git存储库(只有一个是正确的);提交都去

杰夫

我是git的新手。因此,我很困惑,可能没有使用正确的术语。

我有两个单独的Xcode项目,每个项目都有自己的本地存储库。尽管项目具有相似的名称,但是每个项目都有单独且不同的源文件。我已经对每个对象执行了两次提交,但是当我在一个项目中提交时,该提交同时显示在两个项目中。我的新项目在git导航器中显示了两个项目(这可能与问题有关)。当我进行新提交时,旧项目未在Xcode中打开。

每个项目都有自己的.git文件夹。

细节:

旧项目1(“计划程序”):显示一个存储库,但是我在新项目中所做的最后一次提交显示在其中。

XCode UI显示Scheduler项目

新项目2(“ Scheduler6”):显示两个存储库,而我在其中所做的最后一个提交在两个存储库中都显示。

XCode UI显示Scheduler和Scheduler6项目

为什么Project 2会同时显示两个存储库,这是我的提交最终出现在两个存储库中的原因?如何纠正呢?这以前发生过,我在旧存储库中进行了“ git reset HEAD ^”操作,以删除错误的提交。我想永远停止这种行为。(而且我对在终端中混入git命令犹豫不决。)

杰夫

Mystery solved. I created Project 2 by copying numerous files from Project 1, but three image files ended up as references to the Project 1 files, not copies. When I removed those references and added copies instead to Project 2, the GIT navigator stopped showing the Project 1 repository.

Summary: Project 2 showed both GITs because Project 2 referenced some files in Project 1.

There are two ways to fix the trouble:

A. Manually: Open Project 2, select each file (one by one), and check that the Full Path shown in the Identity and Type inspector is a Project 2 path. Fix any files that reference Project 1.

B. Using Terminal: The Xcode project control file is a text file, so checking all Full Paths can be automated using Terminal commands, thusly:

(I assume the two projects are named Project_1 and Project_2, and that their project folders share the same parent folder.)

  1. Duplicate Project_2.xcodeproj (which is actually a bundle).

  2. Change the duplicate's filename suffix from .xcodeproj (I used .xxx). The duplicated "file" becomes a subfolder containing four items, one of which is a text file ("project.pbxproj").

  3. Launch Terminal.

  4. In Terminal, execute "cd path_to_project_2_subfolder". Shortcut: type 'cd', space, drag the folder that as created in step 2 to Terminal, and hit return.

x. (Verification step.) In Terminal, execute "ls" to show the four items. They should be:

project.pbxproj  project.xcworkspace/  xcshareddata/  xcuserdata/
  1. In Terminal, execute "strings project.pbxproj | grep ../Project_1/". This shows all lines in project.pbxproj that reference Project_1. '|' is a pipe command that sends the strings output to grep which filters the strings. Because my two project names differed by only one character, I surrounded the project name with '../' and '/' to limit the output to directories and files that belong to Project_1, but you could just use the bare project name if your two names are dis-similar. The commands and arguments are case-sensitive. You should see some lines that reference Project_1. You could also open project.pbxproj in a text editor and search for lines containing Project_1.

One of my files (sharing.png) appeared thusly:

1F4E32C32343DE1A0053C239 / * Sharing.png * / = {isa = PBXFileReference; lastKnownFileType = image.png; 名称= Sharing.png; 路径= ../../../../Project_1/sharing.png; sourceTree =“”; };

  1. 在Xcode中打开Project_2并修复在strings命令中显示为引用的文件。在此过程中,使用方法A(上述)验证您的工作。

  2. 检查GIT导航器仅显示Project2。您可能必须关闭Xcode并重新启动。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有两个不同的项目,一个是Redis,另一个是MongoDB?

来自分类Dev

一个网站两个Git存储库

来自分类Dev

Git:一个有两个远程仓库的项目,分别维护提交

来自分类Dev

从两个现有存储库创建一个git裸仓库

来自分类Dev

两个不同的本地存储库提交给一个Github存储库

来自分类Dev

Git命令显示一个VSO TFS项目下的所有Git存储库

来自分类Dev

Contactform有两个日期选择。只有一个正在显示

来自分类Dev

一个git存储库中有两个并行的历史记录-导致git rebase问题

来自分类Dev

如何在两个UIImageViews上显示两个图像,一个是ViewController,一个是UIImagePickerController?

来自分类Dev

只有一个盒子而不是两个

来自分类Dev

只有一个查询,而不是两个

来自分类Dev

EnumDisplayDevices给出两个显示,即使我只有一个

来自分类Dev

布局资源文件中的两个线性布局,但只有一个显示

来自分类Dev

在两个谷歌饼图中只有一个被显示

来自分类Dev

如何从两个表中选择一个项目只有一个值

来自分类Dev

两个相同的步骤定义,但一个是给定的,一个是然后的

来自分类Dev

如何为Django项目正确设置两个.git存储库

来自分类Dev

在gitlab中,是否可以在一个项目中创建两个或多个存储库?

来自分类Dev

如何在一个存储库下获得两个工作项目?

来自分类Dev

单个JS文件中有两个AJAX表单提交,只有一个正在工作

来自分类Dev

如何将一个代码连接到两个git存储库中?

来自分类Dev

在git的一个根文件夹中使用两个存储库?

来自分类Dev

两个git存储库,需要排除其中一个的路径,但保持同步

来自分类Dev

如何将一个代码连接到两个git存储库中?

来自分类Dev

复制一个 git 存储库并分成两个

来自分类Dev

两个Github组织的一个存储库?

来自分类Dev

一维数组传递给两个函数,只有一个函数输出正确的结果。为什么?

来自分类Dev

当3个“存储”顺序发生并且只有一个是原子的时会发生什么

来自分类Dev

合并同一项目的两个git存储库

Related 相关文章

  1. 1

    有两个不同的项目,一个是Redis,另一个是MongoDB?

  2. 2

    一个网站两个Git存储库

  3. 3

    Git:一个有两个远程仓库的项目,分别维护提交

  4. 4

    从两个现有存储库创建一个git裸仓库

  5. 5

    两个不同的本地存储库提交给一个Github存储库

  6. 6

    Git命令显示一个VSO TFS项目下的所有Git存储库

  7. 7

    Contactform有两个日期选择。只有一个正在显示

  8. 8

    一个git存储库中有两个并行的历史记录-导致git rebase问题

  9. 9

    如何在两个UIImageViews上显示两个图像,一个是ViewController,一个是UIImagePickerController?

  10. 10

    只有一个盒子而不是两个

  11. 11

    只有一个查询,而不是两个

  12. 12

    EnumDisplayDevices给出两个显示,即使我只有一个

  13. 13

    布局资源文件中的两个线性布局,但只有一个显示

  14. 14

    在两个谷歌饼图中只有一个被显示

  15. 15

    如何从两个表中选择一个项目只有一个值

  16. 16

    两个相同的步骤定义,但一个是给定的,一个是然后的

  17. 17

    如何为Django项目正确设置两个.git存储库

  18. 18

    在gitlab中,是否可以在一个项目中创建两个或多个存储库?

  19. 19

    如何在一个存储库下获得两个工作项目?

  20. 20

    单个JS文件中有两个AJAX表单提交,只有一个正在工作

  21. 21

    如何将一个代码连接到两个git存储库中?

  22. 22

    在git的一个根文件夹中使用两个存储库?

  23. 23

    两个git存储库,需要排除其中一个的路径,但保持同步

  24. 24

    如何将一个代码连接到两个git存储库中?

  25. 25

    复制一个 git 存储库并分成两个

  26. 26

    两个Github组织的一个存储库?

  27. 27

    一维数组传递给两个函数,只有一个函数输出正确的结果。为什么?

  28. 28

    当3个“存储”顺序发生并且只有一个是原子的时会发生什么

  29. 29

    合并同一项目的两个git存储库

热门标签

归档