我假设这里的每个人都熟悉所有文本文件应以换行符结尾的格言.多年来我一直都知道这个"规则",但我一直在想 - 为什么?
我知道这git push --tags
是一个单独的操作原因git push
.推动标签应该是一个有意识的选择,因为你不想意外推动标签.没关系.但有没有办法将两者结合在一起?(除了git push && git push --tags
.)
假设我的设置看起来很像
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
可以帮助我吗?
Mac OS X中的默认shell是bash
,我通常很乐意使用它.我认为这是理所当然的.如果它能够自动完成更多的东西,那将是非常好的,我zsh
在这方面听到了很多好的东西.但我真的不想花费数小时摆弄设置来提高我的命令行使用量,因为我在命令行上的生活并没有那么糟糕.
(据我所知,bash
也可以配置为更聪明地自动完成.这是配置我不是那么热衷.)
zsh
即使在少数情况下,转换到我的生活会更轻松吗?或者,如果你花时间去了解为什么它更好,它只是一个更好的外壳吗?(例子也很好:)
)
@ Rodney Amato
和@ Vulcan Eager
给出了两个很好的理由分别坚持bash
并切换到zsh
.看起来我要调查两个!那好吧:)
是否有人对争论的双方都有意见?
我意外地将太多文件提交到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
.反向合并使得这项任务比我上面概述的步骤更容易(据我所知).
如何在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) 在之前的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中的关键字扩展,我愿意接受这个设计,不要在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属性"
但是,通过一些前/后提交挂钩模拟这个关键字的东西似乎并不太棘手.我是第一个想要这个的人吗?有没有人有一些代码来做到这一点?
浏览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)
每当发生提交时,都会与相关信息保持同步.
我想在一个新的行中添加一个等式.问题是该等式对于该行来说太长了,我需要手动打破它.否则,它只是重叠到右列,或右边距(看起来很丑......).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)
有问题的线是第一条线,太长了.