小编Car*_*rós的帖子

解释哪个gitignore规则忽略了我的文件

有没有办法看到为什么一些文件被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)

git gitignore

291
推荐指数
4
解决办法
4万
查看次数

在git show/git diff中将tabwidth设置为4

在工作中,我们是几个开发人员,并没有代码样式指南,一些开发人员缩进标签,而另一些开发人员有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.

有任何想法吗?

git bash whitespace tabs spaces

64
推荐指数
3
解决办法
1万
查看次数

使用crypto模块的流功能获取文件的哈希值(即:没有hash.update和hash.digest)

cryptonode.js 的模块(至少在撰写本文时)仍然被认为是稳定的,因此API可能会发生变化.实际上,互联网上的每个人用来获取文件的哈希值(md5,sha1,...)的方法都被认为是遗留的(来自Hash的文档)(注意:强调我的):

类:哈希

用于创建数据的哈希摘要的类.

它是一个可读写的流.写入的数据用于计算哈希值.一旦流的可写端结束,使用read()方法获取计算的哈希摘要.在 传统的更新和消化方法也支持.

由crypto.createHash返回.

尽管hash.update并且hash.digest被认为是遗留的,但引用的片段上方显示的示例正在使用它们.

在不使用这些遗留方法的情况下获得哈希的正确方法是什么?

hash stream node.js

37
推荐指数
5
解决办法
3万
查看次数

xdebug没有与客户端连接?

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支持:已启用

等待调试服务器连接.

这是黑魔法!!

谢谢

xdebug fedora selinux

6
推荐指数
1
解决办法
1333
查看次数

snmpset中的NoAccess错误

我有一个具有读写权限的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

我究竟做错了什么?请建议谢谢吉尔

snmp

5
推荐指数
2
解决办法
2万
查看次数

将推送的分支恢复为具体提交

我已将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.2git push --force作为Git的答案:如何忽略快进并将原点[branch]恢复到之前的提交?或者还原push'd git commit.其他开发人员在同一个办公室,他们永远不应该承诺任何东西(因为我不应该,但是......是的,我们没有每个分支的权限),所以告诉他们并做任何事都不是一个大问题需要采取的行动.

所以最后的问题是:git revert something或者git …

git git-revert git-reset

4
推荐指数
2
解决办法
9740
查看次数

标签 统计

git ×3

bash ×1

fedora ×1

git-reset ×1

git-revert ×1

gitignore ×1

hash ×1

node.js ×1

selinux ×1

snmp ×1

spaces ×1

stream ×1

tabs ×1

whitespace ×1

xdebug ×1