小编Wil*_*son的帖子

为什么文本文件以换行符结尾?

我假设这里的每个人都熟悉所有文本文件应以换行符结尾的格言.多年来我一直都知道这个"规则",但我一直在想 - 为什么?

unix newline file text-files

1375
推荐指数
15
解决办法
21万
查看次数

同时推送git提交和标签

我知道这git push --tags是一个单独的操作原因git push.推动标签应该是一个有意识的选择,因为你不想意外推动标签.没关系.但有没有办法将两者结合在一起?(除了git push && git push --tags.)

git

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

组合多个git存储库

假设我的设置看起来很像

phd/code/
phd/figures/
phd/thesis/
Run Code Online (Sandbox Code Playgroud)

由于历史原因,这些都有自己的git存储库.但我想将它们合并为一个,以简化一些事情.例如,现在我可能会进行两组更改,并且必须执行类似的操作

cd phd/code
git commit 
cd ../figures
git commit
Run Code Online (Sandbox Code Playgroud)

表演(现在)很棒

cd phd
git commit
Run Code Online (Sandbox Code Playgroud)

似乎有几种方法可以使用子模块或从我的子存储库中提取,但这比我正在寻找的要复杂一些.至少,我很高兴

cd phd
git init
git add [[everything that's already in my other repositories]]
Run Code Online (Sandbox Code Playgroud)

但这似乎不是一个单行.有什么git可以帮助我吗?

git

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

值得转换到zsh供临时使用?

Mac OS X中的默认shell是bash,我通常很乐意使用它.我认为这是理所当然的.如果它能够自动完成更多的东西,那将是非常好的,我zsh在这方面听到了很多好的东西.但我真的不想花费数小时摆弄设置来提高我的命令行使用量,因为我在命令行上的生活并没有那么糟糕.

(据我所知,bash也可以配置为更聪明地自动完成.这是配置我不是那么热衷.)

zsh即使在少数情况下,转换到我的生活会更轻松吗?或者,如果你花时间去了解为什么它更好,它只是一个更好的外壳吗?(例子也很好:))


@ Rodney Amato 和@ Vulcan Eager 给出了两个很好的理由分别坚持bash并切换到zsh.看起来我要调查两个!那好吧:)

是否有人对争论的双方都有意见?

bash shell zsh

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

更好地恢复到文件的先前SVN修订版的方法?

我意外地将太多文件提交到SVN存储库并更改了一些我不想要的东西.(叹气.)为了将它们恢复到先前的状态,我能想到的最好的是

svn rm l3toks.dtx
svn copy -r 854 svn+ssh://<repository URL>/l3toks.dtx ./l3toks.dtx
Run Code Online (Sandbox Code Playgroud)

哎呀!有没有更好的方法?为什么我不能写这样的东西:

svn revert -r 854 l3toks.dtx
Run Code Online (Sandbox Code Playgroud)

好吧,我只使用v1.4.4,但是我浏览了1.5分支的更改列表,我看不到任何与此直接相关的内容.我错过了什么吗?


编辑:我想我不够清楚.我不认为我想要反向合并,因为那时我会失去我的变化要打!说fileA并且fileB都被修改但我只想提交fileA; 不小心打字

svn commit -m "small change"
Run Code Online (Sandbox Code Playgroud)

提交这两个文件,现在我想回滚fileB.反向合并使得这项任务比我上面概述的步骤更容易(据我所知).

svn

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

LaTeX可选参数

如何在LaTeX中使用可选参数创建命令?就像是:

\newcommand{\sec}[2][]{
    \section*{#1
        \ifsecondargument
            and #2
        \fi}
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我可以称之为

\sec{Hello}
%Output: Hello
\sec{Hello}{Hi}
%Output: Hello and Hi
Run Code Online (Sandbox Code Playgroud)

latex optional-arguments

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

git-stash与git-branch

之前的Git问题中,Daniel Benamy正在讨论Git中的工作流程:

我正在做主人并且做了一些事情,然后我决定把这项工作搁置一边.我支持了一些提交,然后在我开始我的垃圾工作之前分支.

他希望将自己的工作状态恢复到以前的某个时间点而不会失去他目前的变化.所有答案都以各种方式围绕着类似的东西

git branch -m master crap_work
git branch -m previous_master master
Run Code Online (Sandbox Code Playgroud)

这比较如何git stash?我有点困惑,试图看看这里的不同用例,看起来一切git stash都已经通过分支来处理......


@ 霍尔迪本斯特:谢谢,这将清除的东西了.我想我会认为"藏匿"就像一个轻量级,无名的分支.所以任何藏匿都可以做,分支也可以,但更多的话.太好了!

git

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

使用git-svn处理SVN关键字扩展

我最近询问了Git中的关键字扩展,我愿意接受这个设计,不要在Git中真正支持这个想法.

无论好坏,我正在进行的项目需要SVN关键字扩展,如下所示:

svn propset svn:keywords "Id" expl3.dtx
Run Code Online (Sandbox Code Playgroud)

保持这个字符串是最新的:

$Id: expl3.dtx 803 2008-09-11 14:01:58Z will $
Run Code Online (Sandbox Code Playgroud)

但我非常想用Git来进行版本控制.不幸的是,根据文档,git-svn不支持这一点:

"除了svn:executable之外,我们忽略了所有SVN属性"

但是,通过一些前/后提交挂钩模拟这个关键字的东西似乎并不太棘手.我是第一个想要这个的人吗?有没有人有一些代码来做到这一点?

svn git version-control

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

git是否有类似`svn propset svn:keywords`或pre-/ post-commit钩子的东西?

浏览git文档时,我看不到任何类似于SVN的提交钩子或"propset"功能的东西,可以说,只要它提交到存储库,就可以更新文件中的版本号或版权声明.

git用户是否希望为这种功能编写外部脚本(这看起来似乎不可能)或者我只是错过了一些明显的东西?

编辑:为了清楚,我更感兴趣,例如,

svn propset svn:keywords "Author Date Id Revision" expl3.dtx
Run Code Online (Sandbox Code Playgroud)

这样的字符串:

$Id: expl3.dtx 780 2008-08-30 12:32:34Z morten $
Run Code Online (Sandbox Code Playgroud)

每当发生提交时,都会与相关信息保持同步.

svn git version-control

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

我如何打破线上的长方程?

我想在一个新的行中添加一个等式.问题是该等式对于该行来说太长了,我需要手动打破它.否则,它只是重叠到右列,或右边距(看起来很丑......).LaTeX有没有办法为我制造方程式,所以看起来不错?

我附上我的乳胶代码:

\begin{align*}
f(n)-f(0) &= A(n)-B(n)-C(n)-D(n)\cdot d-\left(A(0)-B(0)-C(0)-D(0)\cdot d\right) \\
          &= A(n)-0-X-D(n)\cdot d-\left(0-0-0-0\right) \\
          &= A(n)-X-D(n)\cdot d
\end{align*}
Run Code Online (Sandbox Code Playgroud)

有问题的线是第一条线,太长了.

latex equation

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