我正在git上弄湿我的脚并遇到以下问题:
我的项目源码树:
/
|
+--src/
+----refs/
+----...
|
+--vendor/
+----...
Run Code Online (Sandbox Code Playgroud)
我在我的供应商分支中有代码(目前是MEF),我将在那里编译,然后将引用移动到/src/refs项目从中获取的位置.
我的问题是我有我的.gitignore设置忽略*.dll和*.pdb.我可以做一个git add -f bar.dll强制添加被忽略的文件,这是好的,问题是我无法弄清楚列出哪些文件被忽略.
我想列出被忽略的文件,以确保我不会忘记添加它们.
我已经阅读了手册页git ls-files,但无法使其正常工作.在我看来,git ls-files --exclude-standard -i应该做我想要的.我错过了什么?
我对一个我不想提交到我的存储库的文件进行了本地更改.它是用于在服务器上构建应用程序的配置文件,但我想在本地使用不同的设置进行构建.当然,当我将'git status'作为要上演的东西时,该文件总是显示出来.我想隐藏这个特定的更改而不是提交它.我不会对文件进行任何其他更改.
经过一番挖掘后,我看到了两个选项:'假设未改变'和'跳过工作树'.这里的前一个问题谈到了它们,但并没有真正解释它们之间的区别.我的问题是:这两个命令有何不同?为什么有人会使用其中一个?
我经常在Bash中使用管道,例如:
dmesg | less
Run Code Online (Sandbox Code Playgroud)
虽然我知道这是什么输出,它需要dmesg并让我滚动它less,我不明白|它在做什么.它恰恰相反>吗?
|?问题:当我没有文件时,也没有任何文件时,将文件添加./shells/smallApps/*到Git ../.git/./.git/info/exclude.gitignore
这个问题是基于这个问题没有完全解决的问题.
我跑
$git status ~/bin
# On branch master
nothing to commit (working directory clean)
$git ls-files ~/bin
Screen/dev/vim-open.screen
--- cut ---
Run Code Online (Sandbox Code Playgroud)
我注意到我的Git上没有"shells/smallApps/*"文件
$ls shells/smallApps/ ~/bin
devTodo extract
~/bin
Run Code Online (Sandbox Code Playgroud)
我想通过运行将它们添加到我的Git中
$git add shells/smallApps/devTodo shells/smallApps/extract
fatal: Path 'shells/smallApps/devTodo' is in submodule 'shells/smallApps'
$git add .
Run Code Online (Sandbox Code Playgroud)
我注意到由于某种原因,这些文件没有添加到我的Git中
$git status ~/bin
# On branch master
nothing to commit (working directory clean)
Run Code Online (Sandbox Code Playgroud)
我没有.git/info/exclude和.gitignore -files的文件.
最后警告是什么意思?