我有一个问题,我不小心将一个目录复制到它自己的子目录中,从而创建了数千个 git 事务。在尝试清理失败后,我决定创建一个新项目并将文件从旧项目复制过来。不知何故,我认为我搞砸了 git,但我不确定问题出在哪里。这是我目前的症状。
我以为我正确地初始化了 git 存储库。但是,github 上不存在任何文件。
https://github.com/victorengel/matchismo2
...除了我在那里创建的。
该项目本身是我在启用 git 的情况下创建的 iOS 单 View 应用程序。我将我需要的所有文件从旧项目复制到新项目区域,确认它运行,然后尝试提交。提交似乎有效,但推送无效。
如果我尝试推送,我会收到一条消息,指出工作副本已过期,我应该进行 pull 。如果我尝试 pull ,它会说有未提交的更改,我应该放弃或提交它们。经过一番搜索后,我发现触发此事件的更改是用户数据更改,应该在 .gitignore 中忽略。
我终于按照需要的方式设置了 .gitignore。我认为存储库是在 github.com 上设置的,但我仍然遇到错误。
我可以提交但不能推送。如果我尝试推送,我会收到消息“工作副本已过期。尝试从远程 pull 以获取最新更改,然后再次推送。”
如果我尝试 pull ,我会收到消息“matchismo2/master”不是可 pull 的有效远程分支。请选择不同的远程分支。
环顾github.com,只有一个分支,master在victorengel/matchismo2下。在我看来,一切都已正确设置,但显然我遗漏了一些东西。这是什么?
在 Xcode 中,在管理器中,如果我单击 Branches,则会列出一项:master。 如果我点击 Remotes,就会有一个项目 matchismo2,如果我展开它,就会列出 master。
我一直假设这个 matchismo2 和它下面的 master 应该匹配错误消息中的“matchismo2/master”。看起来很适合我,为什么它不起作用?
编辑: 如果我尝试从 GitHub 应用程序中提取数据,我会收到一条错误消息“服务器上还没有任何远程分支。”如果我尝试从 GitHub 发布,我会得到以下信息:
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
2013-03-05 16:32:43.680 GitHub for Mac Login[68518:707] AskPass with arguments: (
"/Users/brillig/Downloads/GitHub.app/Contents/MacOS/GitHub for Mac Login",
"Password for 'https://victorengel@github.com': "
)
2013-03-05 16:32:43.763 GitHub for Mac Login[68518:707] Error reading attributes: OSStatus -2033889429
2013-03-05 16:32:43.764 GitHub for Mac Login[68518:707] Error reading attributes: OSStatus -2033889429
2013-03-05 16:32:43.919 GitHub for Mac Login[68518:707] Error reading attributes for password: OSStatus 840183217
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
To https://victorengel@github.com/victorengel/matchismo2.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://victorengel@github.com/victorengel/matchismo2.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
(256)
最佳答案
如何确保所有文件都井然有序、重命名分支并推送到新的(重命名的分支)?然后,一旦你确定你需要的一切都实际存在并且你的新代码可以工作,你就可以强制更新母版。这不是一个理想的方法,但它可能适合您。
关于xcode - 陷入 git 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233673/