1 git push commit android-studio
当我去的时候VCS>Commit changes,我看到以下屏幕:
我可能错误地按下某个按钮或某些东西,从那以后我就不能提交整个项目,只提供一个文件(.iml文件).
为什么我看不到项目中的任何其他文件?
正如你之前得到的答案中提到的,你无法像你所说的那样提交整个项目.您只能提交尚未记录的更改.
请记住,如果您发现"提交更改"屏幕中没有文件,则无需恐慌.对文件的更改是安全可靠的,它们已由git记录,您不会丢失这些更改.
尽管如此,不同意之前的回答.根据我的理解,您对项目进行了一些更改,但现在无法找到它们.正如你在问题中所说的那样 - 你会记得偶然地按下某些东西,现在文件从你能够提交的文件列表中"消失"了.
在这种情况下,让我们一起弄清楚这些变化的位置.
有很多可能性:
首先,让我们介绍一下git记录变化的方式 -
Git正在跟踪您的文件,以查看文件是否有任何更改.如果是这样,git会注意到这些更改,您将能够提交它们.所有跟踪的文件都以"未修改"开头.然后,当您编辑它们时,它们被标记为"已修改".
当您选择提交文件时,git会为提交做好准备,询问您要提交哪个文件,并将其标记为"暂存".
提交完成后,所有文件都返回"未修改"状态.
您可以阅读"Git Basics"一书中的解释,以获取更多信息:
请记住,工作目录中的每个文件都可以处于以下两种状态之一:已跟踪或未跟踪.跟踪文件是最后一个快照中的文件; 它们可以不被修改,修改或分阶段.未经跟踪的文件是其他所有内容 - 工作目录中的任何文件都不在您的上一个快照中且不在您的暂存区域中.当您第一次克隆存储库时,所有文件都将被跟踪和修改,因为Git只是检查了它们并且您没有编辑任何内容.
在编辑文件时,Git会将它们视为已修改,因为自上次提交后您已对其进行了更改.您暂存这些已修改的文件,然后提交所有暂存的更改,并重复循环.
根据规则,Android Studio会根据它们在git中的状态标记目录中的文件.
如果您发现存储库中的某些文件名显示为红色,则可以:
Right Click => Git => Add并且它们将由git跟踪,您将在尝试提交时看到它们.
Gitignore列表将允许您指定要忽略的故意未跟踪文件.
忽略列表基本上是一个文件,其中包含您希望git跟踪的工作目录中文件的位置.此列表将防止未跟踪的文件被添加到git跟踪的文件集中(请记住,git将继续跟踪已被跟踪的任何文件).
如果是这种情况,将文件添加到gitignore列表将使其从您能够提交的文件列表中"消失".
因此,为了将其恢复并再次提交,您需要将其从gitignore列表中删除.
为此,您需要git add -A在git命令行中键入command.此命令将暂存目录中的所有文件(新建,修改,删除),它将解决您的问题.
此外,您应该查看在Android Studio上配置的"忽略的文件"列表,并确保您要提交的文件不在那里.
要访问"忽略的文件"列表,请转到Project => Settings => Version Control => Ignored Files(Windows和Linux)或Android Studio menu => Preferences => Version Control => Ignored Files(MacOS).在那里,您可以将其从"忽略的文件"列表中删除.
来自"Git Basics"一书:
通常,当你一直在处理你的项目的一部分时,事情处于混乱的状态,你想要切换一些分支来处理其他事情.问题是,你不想做半完成工作的提交,这样你以后就可以回到这一点.这个问题的答案是git stash命令.
Stashing采用工作目录的脏状态 - 即修改后的跟踪文件和分阶段更改 - 并将其保存在一堆未完成的更改中,您可以随时重新应用这些更改.
您可能隐藏了文件,现在它们似乎未经修改,您无法提交它们.
要取消存储它们(单击项目的主文件夹)
Right Click => Git => Repository => UnStash Changes…:,然后从列表中选择最新的存储,然后单击“Apply Stash”.
如果您在列表中看不到任何内容,或者列表中没有包含您所做的最新更改,那么这不是您的情况.
最后一个可能的选项是您已经提交了更改,但是您没有将它们推送到远程存储库,因此您在云/其他计算机上看不到它们.
如上所述,git commit命令将记录对文件的更改,但这里最重要的是将记录在本地存储库中.
为了更新远程存储库,您还需要使用git push命令推送这些更改.
Android Studio提供两项更改:提交更改以及提交和推送更改.
您可能已选择提交更改,在这种情况下:
这是来自Oliver Steele的精彩图片,它解释了git模型和命令:
为了解决这个问题,所有你需要做的就是通过推动改变你的远程仓库:
Right click => Git => Repository => Push.那么简单.
以下是一些有用的链接:
希望我的回答能帮助你解决问题:)
| 归档时间: |
|
| 查看次数: |
2070 次 |
| 最近记录: |