小编Dav*_*les的帖子

丢弃Git中的本地提交

由于一些糟糕的挑选,我的本地Git存储库目前在原点之前提交了五个提交,并且状态不佳.我想摆脱所有这些提交并重新开始.

显然,删除我的工作目录并重新克隆会这样做,但是再次从GitHub下载所有内容似乎有些过分,而且不能很好地利用我的时间.

也许git revert是我需要的,但我不希望在原点(甚至六个)之前提交10个提交,即使它确实使代码本身恢复到正确的状态.我只想假装最后半小时从未发生过.

是否有一个简单的命令可以做到这一点?这似乎是一个明显的用例,但我没有找到它的任何例子.


请注意,这个问题具体是关于提交,而不是关于:

  • 未跟踪的文件
  • 未分期的变化
  • 上演但未提交的变更

git

1304
推荐指数
20
解决办法
78万
查看次数

在Ruby中将二进制文件读为字符串

我需要一种简单的方法来获取tar文件并将其转换为字符串(反之亦然).有没有办法在Ruby中做到这一点?我最好的尝试是这样的:

file = File.open("path-to-file.tar.gz")
contents = ""
file.each {|line|
  contents << line
}
Run Code Online (Sandbox Code Playgroud)

我认为这足以将它转换为字符串,但是当我尝试将它写回来时......

newFile = File.open("test.tar.gz", "w")
newFile.write(contents)
Run Code Online (Sandbox Code Playgroud)

它不是同一个文件.做ls -l显示文件的大小不同,虽然它们非常接近(打开文件显示大部分内容完好无损).我正在制作一个小错误或完全不同(但可行)的方法来实现这一目标吗?

ruby string file-io

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

在给定提交哈希的情况下在GitHub上找到提交

我对Github相当新,遇到了一个业余问题.

我被要求做一个代码审查,并提供了一个提交哈希,但我已经尝试查找Git,如果我可以使用提交哈希搜索但找不到任何东西.

有没有办法只使用提交哈希就可以找到更改后的代码?

git github

261
推荐指数
3
解决办法
12万
查看次数

如何在没有开始和结束块的情况下在Ruby中使用rescue

我知道有一个开始救援结束的标准技术

如何单独使用救援区.

它是如何工作的以及它如何知道正在监视哪些代码?

ruby

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

在Ruby中获取文件名和扩展名

我正在开发一个从YouTube下载视频,将其转换为MP3并为文件创建目录结构的程序.

我的代码是:

FileUtils.cd("#{$musicdir}/#{$folder}") do
  YoutubeDlhelperLibs::Downloader.get($url)
  if File.exists?('*.mp4')
    puts 'Remove unneeded tempfile'
    Dir['*.mp4'].each do |waste|
      File.delete(waste)
    end
  else
    puts 'Temporary file already deleted'
  end

  Dir['*.m4a'].each do |rip|
    rip.to_s
    rip.split
    puts 'Inside the function'
    puts rip
  end

end
Run Code Online (Sandbox Code Playgroud)

第一个进入已创建的音乐文件夹.在里面,我正在执行get.之后我在目录中有两个文件:"xyz.mp4"和"xyz.m4a".

我想获取没有扩展名的文件名,所以我可以用不同的方式处理这两个文件.

我正在使用一个数组,但只有一个匹配的数组对我来说听起来很疯狂.

有没有人有其他想法?

ruby file

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

如何收听N个频道?(动态选择语句)

要开始执行两个goroutine的无限循环,我可以使用下面的代码:

收到消息后,它将启动一个新的goroutine并继续下去.

c1 := make(chan string)
c2 := make(chan string)

go DoStuff(c1, 5)
go DoStuff(c2, 2)

for ; true;  {
    select {
    case msg1 := <-c1:
        fmt.Println("received ", msg1)
        go DoStuff(c1, 1)
    case msg2 := <-c2:
        fmt.Println("received ", msg2)
        go DoStuff(c2, 9)
    }
}
Run Code Online (Sandbox Code Playgroud)

我现在想对N goroutines有相同的行为,但是在这种情况下select语句会如何?

这是我开始使用的代码位,但我很困惑如何编写select语句

numChans := 2

//I keep the channels in this slice, and want to "loop" over them in the select statemnt
var chans = [] chan string{}

for i:=0;i<numChans;i++{
    tmp := make(chan string);
    chans …
Run Code Online (Sandbox Code Playgroud)

go

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

如何在Ruby中将当前时间作为13位整数?

我有这个jQuery函数,它返回当前时间作为自纪元(1970年1月1日)以来的毫秒数:

time = new Date().getTime();
Run Code Online (Sandbox Code Playgroud)

有没有办法在Ruby中做同样的事情?

现在,我正在使用Ruby Time.now.to_i,它工作得很好,但返回一个10位整数(秒数)

如何让它显示毫秒数,如jQuery

ruby

80
推荐指数
6
解决办法
6万
查看次数

选择基于正则表达式调用的Python函数

是否可以将函数放在数据结构中,而不是先给它命名def

# This is the behaviour I want. Prints "hi".
def myprint(msg):
    print msg
f_list = [ myprint ]
f_list[0]('hi')
# The word "myprint" is never used again. Why litter the namespace with it?
Run Code Online (Sandbox Code Playgroud)

lambda函数的主体受到严格限制,所以我不能使用它们.

编辑:作为参考,这更像是我遇到问题的现实代码.

def handle_message( msg ):
    print msg
def handle_warning( msg ):
    global num_warnings, num_fatals
    num_warnings += 1
    if ( is_fatal( msg ) ):
        num_fatals += 1
handlers = (
    ( re.compile( '^<\w+> (.*)' ), handle_message ),
    ( re.compile( '^\*{3} (.*)' ), handle_warning ), …
Run Code Online (Sandbox Code Playgroud)

python lambda anonymous-function

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

为什么我不能在具有多个边界的类型参数中使用类型参数?

所以,我的理解以下不工作,但为什么不工作?

interface Adapter<E> {}

class Adaptulator<I> {
    <E, A extends I & Adapter<E>> void add(Class<E> extl, Class<A> intl) {
        addAdapterFactory(new AdapterFactory<E, A>(extl, intl));
    }
}
Run Code Online (Sandbox Code Playgroud)

add()方法给出了一个编译错误,"当第一个绑定是一个类型参数时,无法指定任何其他绑定的适配器<E>"(在Eclipse中),或者"类型参数不能跟随其他边界"(在IDEA中),请选择.

很明显,你只是不允许在I那之前使用type参数&,那就是那个.(而且在你问之前,如果你改变它们就行不通,因为不能保证它I不是一个具体的类.)但为什么不呢?我查看了Angelika Langer的常见问题解答并找不到答案.

通常,当某些泛型限制看似随意时,这是因为您创建了一种类型系统无法实际执行正确性的情况.但我不知道哪种情况会破坏我在这里要做的事情.我可能会说它可能与类型擦除后的方法调度有关,但是只有一种add()方法,所以它不像是有任何歧义......

有人能为我证明这个问题吗?

java generics constraints

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

XPath以获取没有父节点的所有子节点(元素,注释和文本)

我需要一个XPath来获取没有父元素的所有ChildNodes(包括Text Element,Comment Element和Child Elements).任何帮助

示例示例:

<DOC>
<PRESENTEDIN>
    <X>
        First Text Node #1 
        <y> Y can Have Child Nodes # 
            <child> deep to it </child> 
         </y>
         Second Text Node #2 <z/> 
    </X>
    <EVTS>
        <evt/>
        <evt>
            <mtg_descr> SAE 2006 World Congress &amp; Exhibition </mtg_descr>
            <sess_descr> Advanced Hybrid Vehicle Powertrains (Part 1 of 5) </sess_descr>
            <loc> Detroit,MI,United States </loc>
            <sess_prod_grp_cd> TSESS </sess_prod_grp_cd>
            <sess_evt_name> P13 </sess_evt_name>
            <sess_gen_num> 138352 </sess_gen_num>
            <mtg_start_dt> 04/03/2006 </mtg_start_dt>
            <mtg_end_dt> 04/06/2006 </mtg_end_dt>
            <desig> CONGRESS-2006 </desig>
        </evt>
    </EVTS>
    <EVTTYPE>PAPER</EVTTYPE>
    <SUPERTECH>
        <![CDATA[C8585]]>
    </SUPERTECH> …
Run Code Online (Sandbox Code Playgroud)

xml xpath

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

标签 统计

ruby ×4

git ×2

anonymous-function ×1

constraints ×1

file ×1

file-io ×1

generics ×1

github ×1

go ×1

java ×1

lambda ×1

python ×1

string ×1

xml ×1

xpath ×1