我正在尝试编写.gitignore文件.如果我要运行"git add -u",我想预览将要添加的所有内容.那可能吗?或者,如果我运行"git add -u",并添加了一些我不想要的东西,我可以撤消整个事情吗?然后我会再调整我的.gitignore并重复一遍.
谢谢
我已将文件Project移至Project/src.Git的印象是我从中删除了文件Project并创建了新文件Project/src.
另外,我在工作树中有多个其他更改,我希望提交.我的git status:
$ git status
# On branch feature/cmake
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# new file: .gitignore
# new file: CMakeLists.txt
# deleted: Wasa.xcodeproj/project.pbxproj
# deleted: Wasa/Wasa.1
# renamed: Wasa/main.cpp -> main.cpp
# new file: src/CMakeLists.txt
# Lots of new files listed here
#
# Changes not staged for commit:
# (use "git add/rm ..." to update what will …Run Code Online (Sandbox Code Playgroud) 当我尝试推送到git并且我不知道如何解决它时,我收到此错误.
Counting objects: 1239, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1062/1062), done.
Writing objects: 100% (1239/1239), 26.49 MiB | 679.00 KiB/s, done.
Total 1239 (delta 128), reused 0 (delta 0)
remote: warning: File log/development.log is 98.59 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: efd2d13efa4a231e3216dad097ec25d6
remote: error: See http://git.io/iEPt8g for …Run Code Online (Sandbox Code Playgroud) 我错误地将一个目录添加到git中,当我按照这里的提示撤消添加时git reset HEAD <file>,我惊恐地发现其中一个文件的当前工作副本,其中有很多更改(工作!),还原回到以前的版本!
结果我失去了几个小时的工作......:(
我认为git reset HEAD <file>只有"从当前索引中删除它而不改变其他任何东西.我错过了什么?
是git reset HEAD <file>应该还检查了从头部文件?
我怎样才能最大限度地减少将来再次出现这种情况的可能性?
我不小心上演了很多变化,包括我不想提交的新文件.
如何取消暂存或仅重置新文件?
我不是在寻找任何形式的剧本; 我正在寻找核心git功能,以便在一个有意义的主题标题下在SO上公开和记录.
我想知道为什么当我这样做:
git add <file>
Run Code Online (Sandbox Code Playgroud)
然后,我做:
git rm --cached <file>
Run Code Online (Sandbox Code Playgroud)
该文件在阶段área中保持已删除状态.
这里的例子如下:

我只是在寻找关于文件中"已删除"状态的说明.
谢谢
可能重复:
撤消"git add"?
我弄错了:
git add .
Run Code Online (Sandbox Code Playgroud)
其中添加了重要的东西,如.bashrc.即使我跑:
git rm .
Run Code Online (Sandbox Code Playgroud)
当我跑:
git push project master
Run Code Online (Sandbox Code Playgroud)
一切都还在增加.我甚至重新安装了git,但我仍然对此感到困惑.我找到的解决方案是重新开始并从提交中删除所有文件.我还能做些什么来删除提交中的所有文件吗?
Git --force在很多操作中都有标记,但是当我使用它们时我觉得有点奇怪.就像忽略我的代码中的警告消息一样.
例如,我只想取消暂存文件并执行此操作:
git rm --cached myfile.ext
Run Code Online (Sandbox Code Playgroud)
git抱怨错误:
以下文件具有与文件和HEAD不同的暂存内容
我真的不关心这个错误,它似乎不是一个问题 - 我只是想保留我的代码,但取消暂存文件.--force国旗只是解决了这个问题.
我的问题是关于最佳实践,因为我无法找到有关此问题的任何信息 - 如果在git命令中使用强制标记或者这是一种不好的做法?
UPDATE
我发现了我的这个问题并且有一些见解,我对任何有兴趣的人都有用.
forceflag就像yes/nogit(或任何类似的软件)中的有点对话框.就像做一些可能失败或损坏的事情一样,我们会得到yes/no对话.所以git相当于yes是--force它回答我的问题是force标志使用的仅仅是一个正常的程序.
我有以下Git信息,我想忽略我的IDE(Eclipse)的设置.
modified: myproject/.classpath
modified: myproject/.project
modified: myproject/.settings/com.google.gdt.eclipse.core.prefs
modified: myproject/.settings/org.eclipse.core.resources.prefs
modified: myproject/.settings/org.eclipse.jdt.core.prefs
modified: myproject/.settings/org.eclipse.wst.common.component
modified: myproject/.settings/org.eclipse.wst.common.project.facet.core.xml
modified: myproject/.settings/org.eclipse.wst.validation.prefs
Run Code Online (Sandbox Code Playgroud)
我在我的.gitignore文件中尝试了以下语句,但它不适用于这些设置:
.project
.classpath
.settings
*.project
*.classpath
*.settings
/.project
/.classpath
/.settings
.project/
.classpath/
.settings/
*.project/
*.classpath/
*.settings/
Run Code Online (Sandbox Code Playgroud)
我使用的是Mac OS X,我还使用这些设置添加了全局gitignore文件git config --global core.excludesfile '~/.gitignore',但是当我查看时,我仍然会收到上面的Git更新消息git status.我错了什么?