小编Kar*_*tik的帖子

从git/GitHub的历史记录中删除文件夹及其内容

我正在使用我的GitHub帐户上的存储库,这是我偶然发现的一个问题.

  • Node.js项目包含一个安装了几个npm软件包的文件夹
  • 包裹在node_modules文件夹中
  • 将该文件夹添加到git repository并将代码推送到github(当时没有想到npm部分)
  • 意识到你并不真的需要该文件夹成为代码的一部分
  • 删除了那个文件夹,推了它

在那个例子中,总git repo的大小约为6MB,其中实际代码(除了该文件夹之外的所有代码)只有大约300 KB.

现在我正在寻找的是从git的历史中删除该包文件夹的细节的一种方法,所以如果有人克隆它,他们不必下载6mb的历史记录,他们将获得唯一的实际文件截至上次提交时将为300KB.

我查找了可能的解决方案并尝试了这两种方法

Gist似乎在运行脚本之后起作用,它表明它摆脱了该文件夹,之后它显示了50个不同的提交被修改.但它没有让我推动那些代码.当我试图推它时,它说,Branch up to date但显示50个提交被修改了一个git status.其他两种方法也没有帮助.

现在即使它显示它摆脱了该文件夹的历史记录,当我在我的localhost上检查该repo的大小时,它仍然是大约6MB.(我也删除了refs/original文件夹,但没有看到repo大小的变化).

我要澄清的是,如果有一种方法可以摆脱提交历史(这是我认为发生的唯一事情),而且那些文件git保持假设一个人想要回滚.

让我们说一个解决方案是为此而呈现并应用于我的localhost但不能复制到该GitHub仓库,是否有可能克隆该repo,回滚到第一个提交执行技巧并推送它(或者这是否意味着git将仍然有所有这些提交的历史? - 又名.6MB).

我的最终目标是基本上找到从git中删除文件夹内容的最佳方法,这样用户就不必下载6MB的东西,仍然可能有其他提交从未触及过模块文件夹(那很漂亮)他们中的所有人都在git的历史中.

我怎样才能做到这一点?

git github rebase git-rebase

284
推荐指数
7
解决办法
9万
查看次数

查找数字是否为2的幂

出于好奇,如何在不使用递归的情况下判断数x是2的幂(x = 2 ^ n).

谢谢

php

20
推荐指数
2
解决办法
6698
查看次数

Python将分数转换为十进制

我想在python中转换1/2,这样当我说打印x(其中x = 1/2)时它返回0.5

我正在寻找最基本的方法,而不使用任何拆分函数,循环或映射

我试过漂浮(1/2),但我得到0 ...有人可以解释我为什么以及如何解决它?

是否可以在不修改变量x = 1/2的情况下执行此操作?

谢谢

python

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

Python MatPlot条形函数参数

我正在尝试使用matplot库创建一个条形图,但我无法弄清楚函数的参数是什么.

文档说bar(left, height),但我不知道如何在这里输入我的数据[这是一个名为x的数字列表].

它告诉我,高度应标时,我把它作为一个数0.5或者1,如果高度是列表不显示我的错误.

python graph matplotlib

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

Appengine GET参数

我对Python并不熟悉,并试图将我的一个php webapps转换为python.目前我正在使用appengine启动器在localhost上运行应用程序,这正是我想要做的.

我正在尝试获取发布到网址的所有参数的列表,然后将它们提交到页面并获取其内容.

所以基本上:1:获取参数2:通过提交这些参数来获取网址的内容(PHP相当于file_get_contents的curl)

到目前为止这是我的代码

from google.appengine.ext import webapp

class MyHandler(webapp.RequestHandler):
    def get(self):
        name1 = self.request.get_all("q")
        name2 = self.request.get_all("input")
        return name1,name2

x = MyHandler()
print x.get() 
Run Code Online (Sandbox Code Playgroud)

和网址

http://localhost:8080/?q=test1&input=test2
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

AttributeError: 'MyHandler' object has no attribute 'request'
Run Code Online (Sandbox Code Playgroud)

现在我不能打印任何东西,我不知道如何通过提交name1和name2来获取另一个url的内容

我已经尝试过查看文档,但我无法理解它,因为它们只有2行代码才能使用函数启动.

python google-app-engine

5
推荐指数
1
解决办法
5805
查看次数

PHP爆炸功能

我只是想知道是否有办法在一行中编写此代码.

$exp = explode(" ", $text);
$cut = $exp[0];
Run Code Online (Sandbox Code Playgroud)

所以无需分配变量.

谢谢

php

5
推荐指数
1
解决办法
464
查看次数

计算字符串中char出现次数的最佳方法

您好我试图在一行中编写这些python行,但由于代码正在进行字典修改而出现一些错误.

for i in range(len(string)):
    if string[i] in dict:
        dict[string[i]] += 1
Run Code Online (Sandbox Code Playgroud)

我相信的一般语法

abc = [i for i in len(x) if x[i] in array]
Run Code Online (Sandbox Code Playgroud)

考虑到我在字典中添加1值,有人可以告诉我这是如何工作的

谢谢

python string optimization performancecounter

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

Nodejs node-sqlite3 运行回调不起作用

nodejs我正在尝试使用和package.json来删除 sqlite 数据库中的一行node-sqlite3

当我运行删除命令并手动检查条目时,我可以看到查询成功删除了该行,但我似乎无法编写确认这一点的代码。

这是查询

db.run("DELETE FROM Table1 WHERE id=? AND username=?", [id, user], function(error) {
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)

无论输入错误或正确,它都会输出null到控制台。如果给出了正确的详细信息,它会删除它并打印 null,如果给出了错误的 id 和用户,它仍然打印 null。

关于可能出什么问题有什么想法吗?

谢谢

sqlite node.js

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

Nodejs从string执行导出的函数

我想知道是否可以运行在nodejs中命名为字符串的函数.所有这些代码都在服务器端运行,根本没有浏览器外观.

假设我test.js使用以下代码导出文件

module.exports.test = function(x)
{
   console.log(x*5);
}
Run Code Online (Sandbox Code Playgroud)

我能以某种方式这样做吗?

main.js

imp = require('test.js');
toExecute = "test";

// somehow call imp.test using toExecute`
Run Code Online (Sandbox Code Playgroud)

javascript node.js

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

Postgres json选择不忽略引号

我有下表和设置

create table test (
  id serial primary key,
  name text not null,
  meta json
);

insert into test (name, meta) values ('demo1', '{"name" : "Hello"}')
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此查询时,这就是结果

select * from test;
 id | name  |        meta
----+-------+--------------------
  1 | demo1 | {"name" : "Hello"}
(1 row)
Run Code Online (Sandbox Code Playgroud)

select * from test where meta->'name' = 'Hello';
ERROR:  operator does not exist: json = unknown
LINE 1: select * from test where meta->'name' = 'Hello';
                                              ^
HINT:  No operator matches the given …
Run Code Online (Sandbox Code Playgroud)

postgresql

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