我从远程存储库的master分支克隆了项目remote_repo
.我创建了新的分支,我承诺了那个分支.其他程序员推到remote_repo
了分支机构.我现在需要将我的分支RB重新绑定到remote_repo
master上.这该怎么做 ?键入终端的命令是什么?
当我有差异时,我怎样才能将它着色以使其看起来很好?我希望它用于命令行,所以请不要使用GUI解决方案.
我知道在接口中定义构造函数是不可能的.但我想知道为什么,因为我觉得它可能非常有用.
因此,您可以确保为此接口的每个实现定义了类中的某些字段.
例如,考虑以下消息类:
public class MyMessage {
public MyMessage(String receiver) {
this.receiver = receiver;
}
private String receiver;
public void send() {
//some implementation for sending the mssage to the receiver
}
}
Run Code Online (Sandbox Code Playgroud)
如果为这个类定义一个接口,以便我可以有更多的类来实现消息接口,那么我只能定义send方法而不是构造函数.那么我怎样才能确保这个类的每个实现都有一个接收器集呢?如果我使用像setReceiver(String receiver)
我这样的方法,我不能确定这个方法是否真的被调用.在构造函数中,我可以确保它.
我有在node_modules
Docker容器内安装并与主机同步的问题.我的Docker的版本是18.03.1-ce, build 9ee9f40
和Docker Compose的版本一样1.21.2, build a133471
.
我docker-compose.yml
看起来像:
# Frontend Container.
frontend:
build: ./app/frontend
volumes:
- ./app/frontend:/usr/src/app
- frontend-node-modules:/usr/src/app/node_modules
ports:
- 3000:3000
environment:
NODE_ENV: ${ENV}
command: npm start
# Define all the external volumes.
volumes:
frontend-node-modules: ~
Run Code Online (Sandbox Code Playgroud)
我的Dockerfile
:
# Set the base image.
FROM node:10
# Create and define the working directory.
RUN mkdir /usr/src/app
WORKDIR /usr/src/app
# Install the application's dependencies.
COPY package.json ./
COPY package-lock.json ./
RUN npm install …
Run Code Online (Sandbox Code Playgroud) 有两个分支,我如何找到两个分支合并的最新版本?是否有标准的Mercurial命令来做到这一点?
这与如何在SVN中找到两个分支的共同祖先的问题相同?,但对于Mercurial而不是颠覆.
我不明白为什么Lazy Badger的答案是对的,所以我不得不做一点画,现在我明白了:
当两个分支合并时,它们实际上并未"合并",但是来自一个分支的更改将集成到第二个分支中.这意味着合并提交仅属于原始分支,而不属于合并分支.这就是合并修订是祖先修订的两个孩子之一的原因.
这可能是最好看的图片:
default o----o----a---b---o---o
\ \
other `-o---o---m---o
ancestor(default,other) == a
children(ancestor(default,other)) == (b,m)
children(ancestor(default,other)) and merge() == m
Run Code Online (Sandbox Code Playgroud) 我有一个bash脚本,我希望在没有附加tty的情况下保持安静(比如来自cron).我现在正在寻找一种方法,在一行中有条件地将输出重定向到/ dev/null.这是我想到的一个例子,但我将有更多的命令在脚本中输出
#!/bin/bash
# conditional-redirect.sh
if tty -s; then
REDIRECT=
else
REDIRECT=">& /dev/null"
fi
echo "is this visible?" $REDIRECT
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用:
$ ./conditional-redirect.sh
is this visible?
$ echo "" | ./conditional-redirect.sh
is this visible? >& /dev/null
Run Code Online (Sandbox Code Playgroud)
我不想做的是复制with-redirection或with-no-redirection变种中的所有命令:
if tty -s; then
echo "is this visible?"
else
echo "is this visible?" >& /dev/null
fi
Run Code Online (Sandbox Code Playgroud)
编辑:
如果解决方案能够为我提供一种以"安静"模式输出内容的方式,那将是很好的,例如,当某些事情确实出错时,我可能希望从cron获得通知.
我正在使用org-mode为我的论文做一个大纲,我想将所有标题显示到一定的级别(例如所有级别1和级别2标题).
我在组织模式手册中没有找到任何相关信息.骑自行车只显示1级标题或所有标题,这在我的大纲中现在提供的信息太多了.
谢谢,
丹尼尔.
更新:我找到了他的解决方法:设置变量org-cycle-max-level.不过,这是一个全球性的环境.
我正在ctags
创建一个用于Vim的标签文件,以便我可以跳转到标签和引文的定义.但是,我有两个问题:
\ref
在标签文件中,所以当我在\ref
标签上跳转时,我不一定跳转到标签的定义,但可能最终会对该标签的另一个引用.\cite
命令跳转到.bib文件中的相应条目,但ctags
不会为此生成条目(我正在使用ctags *.tex *.bib
).我想重新ctags
定义tex文件的定义,以便我可以删除\ref
条目,但这不起作用.
我的〜/ .ctags文件:
--langdef=tex2
--langmap=tex2:.tex
--regex-tex2=/\\label[ \t]*\*?\{[ \t]*([^}]*)\}/\1/l,label/
Run Code Online (Sandbox Code Playgroud) 我在Java程序中运行JADE,即没有 java jade.Boot ...
.现在我想停止JADE系统,但我找不到好办法.我可以使用System.exit()退出整个程序,但这不是我想要做的.
我尝试了几个不同的东西,我成功地停止了我的代理行为,但是一些线程继续运行:AMS,DF,Web服务器,JADE Timer调度程序,几个Deliverer线程等.
这是我当前的关闭方法的样子:
@Override
public void shutdown() {
// TODO This does not work yet..
try {
for (WeakReference<AgentController> acr : agents) {
AgentController ac = acr.get(); // jade.wrapper.AgentController
if ( ac != null ) ac.kill();
}
container.kill(); // jade.wrapper.AgentContainer
Runtime.instance().shutDown(); // jade.core.Runtime
} catch ( StaleProxyException e ) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我想这样做的原因是我的代理系统有一些JUnit测试.
任何想法如何实现?
请注意:我不是要重新启动Mercurial或Git更好的论点,我只是有一个技术问题,我作为Mercurial用户,不明白.我也不确定SO是否是提出这样一个问题的正确位置,但它与编程相关.
关于两个版本控制系统Git和Mercurial如何从用户的角度来看彼此不同(例如Mercurial和Git之间有什么区别?和http://felipec.wordpress.com/2011/01)/16/mercurial-vs-git-its-all-in-the-branches /),主要区别在于分支机构的处理.我已经阅读了很多这些讨论,但我一直在问自己这个问题:
为什么Git不将分支名称存储为提交的一部分?
我真的没有理由不这样做; 这意味着数据不能简单地消失,因为没有参考(标记,分支,等等).
我认为在提交中存储分支是Mercurial的一大优点,因为这会使丢失数据变得更加困难.
Git人群的主要观点是支持Git的分支模型,你可以简单地删除分支,并不会阻止Git在每次提交时存储分支的名称:如果删除了分支的提交,那么对该分支的引用.它也不会干扰"廉价分支"的论点:分支管理起来不会更昂贵.我不认为所需的额外存储应该是值得关注的:每次提交只需几个字节.
git ×2
java ×2
mercurial ×2
agents-jade ×1
bash ×1
branch ×1
colors ×1
command-line ×1
conditional ×1
ctags ×1
diff ×1
docker ×1
elisp ×1
emacs ×1
git-branch ×1
git-rebase ×1
interface ×1
latex ×1
node-modules ×1
npm ×1
org-mode ×1
unix ×1
vim ×1