我已经使用 git checkout -- <file> 删除了我的 project.pbxproj 文件。我应该在本地删除分支并从源中提取吗?
I have deleted my project.pbxproj file using git checkout -- <file>. Should I delete the branch locally and pull from origin?
关于源代码控制,我陷入了困境。
我刚刚获得了我团队中的另一位开发人员创建和开发的功能分支,这需要添加一些文件。然后他向项目添加了一些额外的代码,我想恢复到我在提取他的新代码之前开始使用的分支版本,这样我就不必担心合并这些新文件了。
因此,根据 git 的建议,我取消了我所做和使用的更改:
git checkout -- ScrollingTextLabels.xcodeproj/project.pbxproj
其次是:
git pull
我原以为拉取会用原始文件替换 project.pbxproj 文件,但 git 却吐出了很多以 "delete mode" 开头的行,最令人不安的是:
delete mode 100644 ScrollingTextLabels.xcodeproj/project.pbxproj
每次尝试在此分支上打开项目时,我现在都会从 Xcode 收到以下错误消息:
Project /Users/myname/Documents/Code/organization/product-ios/ScrollingTextLabels.xcodeproj cannot be opened because it is missing its project.pbxproj file.
我已经能够切换到其他分支,它们仍然工作正常,并且必须有它们的 project.pbxproj 文件。
此外,我尝试使用 git reset --hard
但无济于事。我应该强制覆盖(la How do I force "git pull" to overwrite local files?)吗?
是否应该在本地删除分支并从源中拉取?
我只想要这个分支的远程版本,它运行良好,在我的计算机上显示为未更改,以便我可以打开它并继续工作。
留言
delete mode 100644 ScrollingTextLabels.xcodeproj/project.pbxproj
during a merge (or pull)表示文件在待合并分支中被删除。它在另一个分支中不再存在,您的同事一定已经删除了该文件。
删除分支并拉动通常不会解决任何问题。您已经从远程获得了所有更改(可能在 origin/branch
中)。从该提交签出一个新分支,或重置它(可能会丢失所有本地更改!)
使用git log origin/branch
或gitk
查看分支的变化。您还可以仅使用 git log origin/branch -- ScrollingTextLabels.xcodeproj/project.pbxproj
显示此单个文件的日志。这应该告诉你,文件发生了什么,是否在分支中被删除了。
关于源代码控制,我陷入了困境。
我刚刚获得了我团队中的另一位开发人员创建和开发的功能分支,这需要添加一些文件。然后他向项目添加了一些额外的代码,我想恢复到我在提取他的新代码之前开始使用的分支版本,这样我就不必担心合并这些新文件了。
因此,根据 git 的建议,我取消了我所做和使用的更改:
git checkout -- ScrollingTextLabels.xcodeproj/project.pbxproj
其次是:
git pull
我原以为拉取会用原始文件替换 project.pbxproj 文件,但 git 却吐出了很多以 "delete mode" 开头的行,最令人不安的是:
delete mode 100644 ScrollingTextLabels.xcodeproj/project.pbxproj
每次尝试在此分支上打开项目时,我现在都会从 Xcode 收到以下错误消息:
Project /Users/myname/Documents/Code/organization/product-ios/ScrollingTextLabels.xcodeproj cannot be opened because it is missing its project.pbxproj file.
我已经能够切换到其他分支,它们仍然工作正常,并且必须有它们的 project.pbxproj 文件。
此外,我尝试使用 git reset --hard
但无济于事。我应该强制覆盖(la How do I force "git pull" to overwrite local files?)吗?
是否应该在本地删除分支并从源中拉取?
我只想要这个分支的远程版本,它运行良好,在我的计算机上显示为未更改,以便我可以打开它并继续工作。
留言
delete mode 100644 ScrollingTextLabels.xcodeproj/project.pbxproj
during a merge (or pull)表示文件在待合并分支中被删除。它在另一个分支中不再存在,您的同事一定已经删除了该文件。
删除分支并拉动通常不会解决任何问题。您已经从远程获得了所有更改(可能在 origin/branch
中)。从该提交签出一个新分支,或重置它(可能会丢失所有本地更改!)
使用git log origin/branch
或gitk
查看分支的变化。您还可以仅使用 git log origin/branch -- ScrollingTextLabels.xcodeproj/project.pbxproj
显示此单个文件的日志。这应该告诉你,文件发生了什么,是否在分支中被删除了。