小编mow*_*ker的帖子

Git忽略被跟踪的文件而不删除它们

我在理解基本的git概念时遇到了一些麻烦:/

在我的git控制的网站上尝试一些东西之前,我正在我的本地Windows机器上进行测试.

我有:

gittesting/repo1:
    file.txt
    ignoreme:
        ignore.txt
Run Code Online (Sandbox Code Playgroud)

gittesting/repo2
    file.txt
    ignoreme:
        ignore.txt
Run Code Online (Sandbox Code Playgroud)

Repo2是repo1的副本,并且已经跟踪了ignoreme.ignore.txt文件在repo2中被更改,但我想停止跟踪它并让git完全忽略它.问题是,如果我创建一个.gitignore文件并添加ignoreme,它已经太晚了,因为它已经被跟踪了,所以我不得不做git rm --cached ignore,但是它被标记为已删除,如果我将提交删除repo1,该目录将被删除而不是被单独留下..

把它们加起来:

  1. ignore.txt在两个repos之间有不同的内容.
  2. 我希望ignore.txt内容保持原样并被git完全忽略

我在网上看过,在IRC问过,并查看了相关的问题,但找不到办法做到这一点.我知道这个例子似乎微不足道,但这正是我需要在我的网站上做的事情,目录是论坛/缓存.


编辑:

这有点像黑客,我更喜欢更好的答案,但我最终做了:

cd repo2
echo "ignoreme" > .gitignore
echo "ignoreme/*" > .gitignore
git rm --cache -r ignoreme
git commit -m "Should ignore now"
cd ../repo1
mv ignoreme ignoreme2
git pull ../repo2
mv ignoreme2 ignoreme
Run Code Online (Sandbox Code Playgroud)

git version-control

17
推荐指数
2
解决办法
6744
查看次数

Javascript事件委托,处理被点击元素的父母?

http://jsfiddle.net/walkerneo/QqkkA/

我在这里看到很多问题要么在javascript中询问或回答事件委托,但是我还没有看到如何将事件委托用于不会成为click事件目标的元素.

例如:

HTML:

<ul>
    <li><div class="d"></div></li>
    <li><div class="d"></div></li>
    <li><div class="d"></div></li>
    <li><div class="d"></div></li>
    <li><div class="d"></div></li>
    <li><div class="d"></div></li>
</ul>?
Run Code Online (Sandbox Code Playgroud)

CSS:

ul{
    padding:20px;
}
li{
    margin-left:30px;
    margin-bottom:10px;
    border:1px solid black;

}
.d{
    padding:10px;
    background:gray;
}
?
Run Code Online (Sandbox Code Playgroud)

如果我想在单击时添加单击事件来处理li元素,该怎么办?如果我将一个事件处理程序附加到ul元素,则divs将始终是目标元素.除了在单击函数中检查目标元素的每个父元素之外,我该如何实现?

编辑:

我想使用事件委托而不是:

var lis = document.getElementsByTagName('li');
for(var i=0;i<lis.length;i++){
    lis[i].onclick = function(){};
}
Run Code Online (Sandbox Code Playgroud)

但如果我这样做:

document.getElementsByTagName('ul')[0].addEventListener('click',function(e){

    // e.target is going to be the div, not the li
    if(e.target.tagName=='LI'){

    } 
},false);
Run Code Online (Sandbox Code Playgroud)

编辑:我对如何使用Javascript库不感兴趣,我对他们如何做以及如何使用纯js感兴趣.

javascript events delegation event-handling dom-events

15
推荐指数
2
解决办法
8429
查看次数

循环后避免重复代码?

在使用循环时,我经常最终写两次代码.例如,在浏览Udacity计算机科学课程时,我编写了代码(用于查找最顺序重复元素的函数):

def longest_repetition(l):
    if not l:
        return None
    most_reps = count = 0 
    longest = prv = None
    for i in l:
        if i == prv:
            count += 1
        else:
            if count > most_reps:
                longest = prv
                most_reps = count
            count = 1
        prv = i
    if count > most_reps:
        longest = prv
    return longest
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果计数大于先前重复的元素,我会检查两次.当当前元素与上一个元素不同以及当我到达列表末尾时,都会发生这种情况.

在按字符解析字符串时,我也遇到过这种情况.还有几次代码大约有5行代码.这是常见的,还是我思考/编码的结果.我该怎么办?

编辑:同样,在一个人为的字符串拆分示例中:

def split_by(string, delimeter):
    rtn = []
    tmp = ''
    for i in string:
        if i == delimeter:
            if tmp != '':
                rtn.append(tmp) …
Run Code Online (Sandbox Code Playgroud)

python language-agnostic code-organization

15
推荐指数
3
解决办法
1831
查看次数

nodejs可以安装在免费的虚拟主机上

我的目标是创建一个聊天网站.不是为了网站,而是为了体验,所以我知道如何; 只是为了逐步努力.我尝试了长时间的轮询,但这总是最终会惹恼我正在使用的服务器的虚拟主机.我被告知要使用nodejs.我知道它是什么,但不知道如何使用它.

我猜我无法在任何地方找到这个问题的答案的原因是因为它对其他人来说是多么明显.

我一直在环顾四周,当我拥有服务器时,我看到的是有关在服务器上安装它的教程.我知道你可以在webhost的服务器上安装论坛,那么你也可以安装nodejs吗?

node.js

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

CSS匹配选择器的最后一个匹配?

我有一个像这样的结构:

<div id="holder">
    <div id="first"></div>
    <div class="box">I'm the first</div>
    <div class="box">Nothing special</div>
    <div class="box">Nothing special</div>
    <div class="box">Nothing special</div>
    <div class="box">Nothing special</div>
    <div class="box">Nothing special</div>
    <div class="box">Make this background orange!!!</div>
    <div id="last"></div>
</div>?
Run Code Online (Sandbox Code Playgroud)

我需要最后一个.box元素才能拥有橙色背景.

.box:last-child{}不会工作,因为它不是最后一个孩子.除了只.box包含元素中的's' 之外,还有什么方法可以做到这一点吗?这个问题确实代表了我正在尝试做的事情,但我也想知道是否有一种方法来匹配选择器的最后一个匹配元素.

http://jsfiddle.net/walkerneo/KUa8B/1/

额外说明:

  • 没有javascript
  • 没有给最后一个元素一个额外的类

html css css-selectors

14
推荐指数
1
解决办法
5532
查看次数

生成一个在合理时间内不重复的唯一数字的方法?

我正在使用远程Web服务进行集成/测试,即使它是"QA"端点,它仍会在每次调用时强制使用唯一的电子邮件地址.

我可以想到DateTime.Now.Ticks(例如634970372342724417)Guid.NewGuid(),但是这些都不能合并成一个带有max的电子邮件.20个字符(或者它们可以吗?).

我想把一个包含最后一个数字然后使用的数字写到一个文件并不难,email1@x.com, email2@x.com, etc...但如果我能避免持久化状态,我总是这么做.

有没有人有一个技巧或算法给出一个短长度"guid"的东西,这是一个相当长的时间段(比如一年)所特有的,我可以用于我的最大长度为20个字符的电子邮件地址(最大长度为guid)= 14 = 20 - "@ x.com"的长度?

c# algorithm guid

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

为什么要睡觉并在bash中等待?

我在理解docker-compose.yml中服务的启动命令时遇到了麻烦。.yml中的两个相关行是:

command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
Run Code Online (Sandbox Code Playgroud)

entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"
Run Code Online (Sandbox Code Playgroud)

为什么将sleep命令发送到后台然后等待呢?为什么不直接做sleep 6h呢?另外,双美元符号只是逃脱了美元符号${!}吗?

我正在寻找将睡眠和等待结合使用的其他地方,但是似乎没有任何关于原因的解释:

  1. http://www.masteringunixshell.net/qa17/bash-how-to-wait-seconds.html
  2. /sf/answers/931093061/
  3. https://superuser.com/a/753984/98583

bash docker

13
推荐指数
1
解决办法
541
查看次数

添加到数组时使用push方法或.length?

做的缺点是什么:

var myArray = [];
myArray[myArray.length] = val1;
myArray[myArray.length] = val2;
Run Code Online (Sandbox Code Playgroud)

代替:

var myArray = [];
myArray.push(val1);
myArray.push(val2);
Run Code Online (Sandbox Code Playgroud)

我确信push方法更"可接受",但是功能上有什么不同吗?

javascript

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

PHP错误,没有收到数据

我一直收到这个错误:

No data received
Unable to load the webpage because the server sent no data.
Here are some suggestions:
Reload this webpage later.
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
Run Code Online (Sandbox Code Playgroud)

我知道这是我脚本的一部分,但我不知道哪个部分.它将某些文本划分为几个不同的文件,并且正在创建这些文件,但它也应该压缩它们,但它没有达到那个部分,所以我对问题发生的一般区域有一个模糊的概念.我知道整个问题缺乏细节,但我希望那些有更多PHP经验并且之前可能已经看过错误的人能够告诉我发生了什么.

http://gyazo.com/12ba55613011a115bb7507040f4d3ddf

编辑:它适用于Firefox ...如果它是服务器端脚本,它们如何在浏览器之间有所不同?

php

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

c ++类中对象计数的静态变量?

我想有一个静态成员变量跟踪已经创建的对象的数量.像这样:

class test{
    static int count = 0;
    public:
        test(){
            count++;

        }
}
Run Code Online (Sandbox Code Playgroud)

根据VC++,这不起作用a member with an in-class initializer must be constant.所以我环顾四周,显然你应该这样做:

test::count = 0;
Run Code Online (Sandbox Code Playgroud)

哪个会很棒,但我想要算是私人的.

编辑: 哦,小伙子,我才意识到我需要这样做:

int test::count = 0;
Run Code Online (Sandbox Code Playgroud)

我曾经看到过一些事情test::count = 0,所以我认为你不必再宣告类型了.

我想知道是否有办法在课堂上这样做.

EDIT2:

我在用什么:

class test{
    private:
        static int count;
    public:
        int getCount(){
            return count;
        }
        test(){
            count++;

        }
}
int test::count=0;
Run Code Online (Sandbox Code Playgroud)

现在它说: 'test' followed by 'int' is illegal (did you forget a ';'?)

EDIT3:

是的,在课程定义后忘了分号.我不习惯这样做.

c++ static class

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