有没有办法看到为什么一些文件被git忽略(即.gitignore文件中的哪个规则导致文件被忽略)?
想象一下,我有这个(或更复杂的场景,有数百个文件夹和数十个.gitignore文件:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Run Code Online (Sandbox Code Playgroud)
如果我运行git add folder/subfolder/file.txtgit可能会抱怨它被忽略:
The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -f if you really want to add them.
Run Code Online (Sandbox Code Playgroud)
有没有办法知道哪一个可能.gitignore有规则忽略这个文件,还显示规则?喜欢:
The following paths are ignored by your folder/.gitignore file (line 12: *.txt)
folder/subfolder/file.txt
Use -f if you really want to add them.
Run Code Online (Sandbox Code Playgroud)
要不就:
$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
Run Code Online (Sandbox Code Playgroud) 在工作中,我们是几个开发人员,并没有代码样式指南,一些开发人员缩进标签,而另一些开发人员有4个空格(幸运的是没有人使用不同于4个空格的空格缩进).一般来说这不是(大)问题,因为在我们的编辑器中我们设置tabwidth=4并且所有缩进看起来都是正确的.
但是,git diff或者git show出现的是:
diff --git a/mesclatabs.php b/mesclatabs.php
new file mode 100644
index 0000000..1986c91
--- /dev/null
+++ b/mesclatabs.php
@@ -0,0 +1,5 @@
+<?php
+function foo() {
+ echo "line with 1 tab\n";
+ echo "line with 4 spaces\n";
+}
Run Code Online (Sandbox Code Playgroud)
问题是git diff或者git show每个选项卡显示为8个空格(实际上显示为选项卡,而shell(在我的情况下是bash)将选项卡显示为8个空格.我想必须有一些bash配置要更改这个,但我想知道git是否有选项将选项卡输出为diff/中的4个空格show,因为有些开发人员使用zsh而不是bash.
有任何想法吗?
cryptonode.js 的模块(至少在撰写本文时)仍然被认为是稳定的,因此API可能会发生变化.实际上,互联网上的每个人用来获取文件的哈希值(md5,sha1,...)的方法都被认为是遗留的(来自Hash类的文档)(注意:强调我的):
类:哈希
用于创建数据的哈希摘要的类.
它是一个可读写的流.写入的数据用于计算哈希值.一旦流的可写端结束,使用read()方法获取计算的哈希摘要.在 传统的更新和消化方法也支持.
由crypto.createHash返回.
尽管hash.update并且hash.digest被认为是遗留的,但引用的片段上方显示的示例正在使用它们.
在不使用这些遗留方法的情况下获得哈希的正确方法是什么?
xdebug服务器不连接到端口9000上的任何客户端,即:netbeans IDE,debugclient等.xdebug显示在phpinfo输出中.上述客户端继续等待建立连接.当我尝试运行时来自cli的php脚本它给出了以下警告消息:
"PHP警告:模块'xdebug'已在第0行的未知中加载" 9000端口已打开并显示在netstat --numeric-port -l命令中.我不知道可能出了什么问题.我检查了所有配置文件,一切似乎都没问题.任何帮助将不胜感激.我的配置文件部分
Linux abc.localdomain 3.1.1-2.fc16.x86_64 #1 SMP Mon Nov 14 15:46:10 UTC 2011 x86_64
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with Xdebug v2.1.2, Copyright (c) 2002-2011, by Derick Rethans
[Zend]
zend_extension=/usr/lib64/php/modules/xdebug.so
[XDebug]
xdebug.remote_enable=On
xdebug.remote_autostart=On
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_mode=req
xdebug.remote_log=/var/log/xdebug.log
Run Code Online (Sandbox Code Playgroud)
php_api没有.一致
Xdebug Simple DBGp客户端(0.10.0)版权所有2002-2007 Derick Rethans. - libedit支持:已启用
等待调试服务器连接.
这是黑魔法!!
谢谢
我有一个具有读写权限的MIB对象.MIB部分如下所示:
EnableHalt OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-write
STATUS current
DESCRIPTION "implemented in NetSnmpcodsMr.c file."
DEFVAL { 0 }
::= { Scalars 4 }
Run Code Online (Sandbox Code Playgroud)
当我对这个对象进行设置时,我得到:
$ sudo snmpset -v 2c -c public localhost 1.3.6.1.4.1.8072.2.2.4.0 i 1
Error in packet.
Reason: noAccess
Failed object: NET-SNMP-MIB::netSnmp.2.2.4.0
Run Code Online (Sandbox Code Playgroud)
当我得到一个:
$ snmpget -v 2c -c public localhost 1.3.6.1.4.1.8072.2.2.4.0
NET-SNMP-MIB::netSnmp.2.2.4.0 = INTEGER: 1
Run Code Online (Sandbox Code Playgroud)
一切都很好!
在snmpd.conf中我添加了一行:
rwcommunity public localhost
Run Code Online (Sandbox Code Playgroud)
仍然没有访问问题.我在Ubuntu上使用net snmp 5.4.2.1
我究竟做错了什么?请建议谢谢吉尔
我已将dev分支(具有常量,有时不稳定的更改)合并到我们的主分支(我们存储已发布的稳定代码).我想将master分支恢复到之前的状态,就像从未发生与dev分支的合并一样(并且在将来我们合并dev分支时,我们现在将丢弃的所有更改将再次"合并").
这是主分支的当前状态,我希望它在HEAD上具有'professional-1.1.2'提交/标记.

我试过了:
$ git revert -n professional-1.1.2..HEAD
fatal: Commit 9167e846a387c793edbc089c7ab6bd9eb8260456 is a merge but no -m option was given.
$ git revert -n -m 1 professional-1.1.2..HEAD
fatal: Mainline was specified but commit 380169097f35d07466640bc0db1b639278cd25fa is not a merge.
$ git revert -n -m 2 professional-1.1.2..HEAD
fatal: Mainline was specified but commit 380169097f35d07466640bc0db1b639278cd25fa is not a merge.
Run Code Online (Sandbox Code Playgroud)
经过一些研究后,我认为更好的选择是做一个git reset --hard professional-1.1.2并git push --force作为Git的答案:如何忽略快进并将原点[branch]恢复到之前的提交?或者还原push'd git commit.其他开发人员在同一个办公室,他们永远不应该承诺任何东西(因为我不应该,但是......是的,我们没有每个分支的权限),所以告诉他们并做任何事都不是一个大问题需要采取的行动.
所以最后的问题是:git revert something或者git …