好的,我认为我搞砸了,我正在开发一个项目并使用git作为版本控制:
我想我在某个地方搞砸了,现在当我说git状态时,我得到了:
# Not currently on any branch.
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: Cocina/bin/Debug/Cocina.exe
# modified: Cocina/bin/Debug/Cocina.pdb
# modified: Cocina/obj/x86/Debug/Cocina.exe
# modified: Cocina/obj/x86/Debug/Cocina.pdb
# modified: Viernes 7.suo
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# Cocina/Info.cs
# Cocina/bin/Debug/Cocina.vshost.exe.manifest
# Viernes 7/Properties/DataSources/
# Viernes 7/Table.cs
# Viernes 7/bin/Debug/Viernes 7.vshost.exe.manifest
# Viernes 7/obj/x86/Debug/ResolveAssemblyReference.cache
# back/
# tables/
no changes added to commit (use "git add" and/or "git commit -a")
我有我做过的所有事情[这里] [1],但它很长,但也许它有所帮助。
我唯一知道的事实是,在这个提交中,我确信一切都按照我的意愿运作,而且他们的一切都开始向南进行合并......
PS C:\Users\Trufa\Documents\Visual Studio 2010\Projects\Viernes 7> git commit -am "the lisview now saves indexes of allr
eady clicks and deletes when table closes"
我可以回去查看当时文件的位置吗?
很抱歉,在我发布问题后,我立即失去了我的互联网连接!
所以更新:
我从github获得了git gui的副本,帮助我想象出不同的提交内容。
与.exe之间存在某种冲突,这使我无法做任何我无法合并的事情,我无法提交,我无法查看,所以我所做的是被复制我的非工作但正确的提交,并在同一解决方案中放入另一个项目。
所以问题是我现在该怎么办?
我很乐意“开始”过来,我的意思是在这一点上项目正在按原样运作,所以我想提交它,所以现在,我该怎么办?
我想整个问题是因为没有使用完整的gitignore文件,如果我现在添加它会发生什么?
所以我的问题是我现在该怎么做,我有点害怕制动,因为我很匆忙,最简单的解决方案是什么?从头开始git repo是一个很大的过度杀戮,删除git并从这一点开始,因为它正在工作吗?
我知道这听起来有点平庸,但我没有太多时间,所以我真的不想在学习git时玩,我稍后会有时间,现在我想要一个简单的修复。
答案 0 :(得分:2)
我发现您的日志有两个问题:
您不应将生成的文件(如* .exe)放入您的仓库,因为当您想要合并分歧的开发线时,这些文件会造成麻烦。
另外您还有另一个问题,因为打开时无法覆盖这些文件,因此您需要关闭正在运行的程序来覆盖* .exe文件,并关闭visual studio以覆盖* .sou和* .pdb
有关更好的内容,请参阅.gitignore for Visual Studio Projects and Solutions。
在第232行,您通过SHA1检出了修订版,这使您处于所谓的detached head
状态。这意味着,当您在此提交的顶部提交某些内容并检查其他某个分支时,您将很难回到刚刚创建的提交。有关详细信息,请参阅http://marklodato.github.com/visual-git-guide/index-en.html#detached。
答案 1 :(得分:1)
mm您不在Git文件夹中的分支中。我认为您的文件没有发生任何错误。
你试过吗?
$ git branch - &gt;将列出您的所有分支
这应该至少列出你的主分支
$ git checkout master - &gt;这将切换到master,你将能够再次提交文件
答案 2 :(得分:0)
首先,您可以看到所有提交的日志:
$ git log --online
( - 在线不是强制性的,但使输出更简洁)。输出将类似于:
1fb3915 Fixed View page.
3f69344 Added new images.
d2f74d8 Fixed css.
0e516db Added some photos.
5b99592 Added all cart pages.
如果d2f74d8是一切正常的提交。只需输入:
$ git checkout d2f74d8
现在你可以从这里重新开始。你只想在这里复制一些代码并将其粘贴到master中?复制代码并输入
$ git checkout master
你想从这里重新开始代码?我建议你创建一个新分支:
$ git checkout -b new-branch-name
在这里制作你的东西。当你准备好了,你可以将代码与你的分支合并:
$ git checkout master
$ git merge new-branch-name