小编Dan*_*dio的帖子

Git:在分支之间移动更改而不更改工作目录

用例:每次我想将提交从一个git分支移动到另一个git分支时,我执行以下操作序列:

  1. [进入工作分支]
  2. git checkout 分支到上合并成
  3. git cherry-pick 针对提交
  4. git push
  5. git checkout 工作分支

这是唯一的例外 - 每次我执行'git checkout'时,git工作目录内容被更改(预期)并导致我的IDE(IntelliJ IDEA)执行内部状态更新(因为受监视的文件系统子树被外部修改) ).这真的很烦人,特别是在大量小提交的情况下.

我看到两种方法:

  1. 执行'大规模樱桃选择',即执行大量提交; 比如,在工作日结束时将他们转移到另一个分支;
  2. 拥有第二个本地git存储库并对其执行cherry picks,即每次对工作分支执行实际提交和推送,转到第二个存储库,提取更改并在那里执行cherry pick;

我不喜欢第一种方法,因为它可能会忘记移动特定的提交.第二个看起来有点......不自然.

基本上,如果我能说git'将这个提交从名为branchX的分支移动到分支branchX + 1'而没有工作目录更新,那将是完美的.

问题:是否可以执行上述操作?

git cherry-pick git-checkout

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

由于sudo需要tty,Packer构建失败

我的打包器构建失败,显示以下消息:

sudo: sorry, you must have a tty to run sudo.
Run Code Online (Sandbox Code Playgroud)

我的主机是带有vagrant和virtualbox的Windows 8,我的客人是centos7.在研究它是我的理解,不要求suty的tty是消息的原因.但我有以下内容ks.cfg:

sed -i 's/^.*requiretty/#Defaults requiretty/' /etc/sudoers
Run Code Online (Sandbox Code Playgroud)

可能问题是我需要在Windows vagrant ssh端设置一些东西,以便创建一个伪造的tty?

这是我第一次去打包机.

我正在使用我下载的打包器构建.

packer.json如下:

{
  "variables": {
    "version": "{{env `VERSION`}}"
  },
  "provisioners": [
    {
      "type": "shell",
      "execute_command": "sudo {{.Vars}} sh {{.Path}}",
      "scripts": [
        "scripts/vagrant.sh",
        "scripts/vmtools.sh",
        "scripts/cleanup.sh",
        "scripts/zerodisk.sh"
      ]
    }
  ],
  "post-processors": [
    {
      "type": "vagrant",
      "output": "INSANEWORKS-CentOS-7.0-x86_64-{{user `version`}}-{{.Provider}}.box"
    }
  ],
  "builders": [
    {
      "type": "virtualbox-iso",
      "iso_url": "http://ftp.iij.ad.jp/pub/linux/centos/7/isos/x86_64/CentOS-7-x86_64-NetInstall-1503.iso",
      "iso_checksum": "498bb78789ddc7973fe14358822eb1b48521bbaca91c17bd132c7f8c903d79b3",
      "iso_checksum_type": "sha256",
      "ssh_username": "vagrant",
      "ssh_password": "vagrant",
      "ssh_wait_timeout": "45m",
      "ssh_disable_agent": …
Run Code Online (Sandbox Code Playgroud)

sudo virtualbox packer vagrant

14
推荐指数
2
解决办法
6956
查看次数

Ubuntu 16.04图像中的Docker Timezone

我使用Ubuntu 16.04映像创建了一个Docker容器.

docker run -it -d --name containername -v /var/www/public --privileged ubuntu
Run Code Online (Sandbox Code Playgroud)

创建容器后,我检查了容器内的日期:

$ date
Tue Oct 25 08:10:34 UTC 2016
Run Code Online (Sandbox Code Playgroud)

但是,我需要它来使用亚洲/加尔各答时区.所以,我试图改变/etc/timezone的文件,然后docker stopdocker start容器,但它不工作.它仍然显示同一时间.

如何在创建Docker容器后更改时区?

datetime containers docker

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

如何正确打印变量到PHP错误日志

我正在尝试正确地将变量打印到错误日志中,以便我知道我的MySQL查询是否有效,但它不会在我的errorlog.log文件中打印任何内容.我在下面设置了所有内容,我将错误设置为true并告诉它要打印到的文件,但它根本不打印任何内容:

<?php

error_reporting(E_ALL); //to set the level of errors to log, E_ALL sets all warning, info , error

ini_set("log_errors", true);
ini_set("error_log", "/errorlog.log"); //send error log to log file specified here.

include ("connection.php");

$city = $_POST['city'];

$state = $_POST['state'];

$results = array();
if( $query =  $db->query("SELECT business_id, BusinessName, date, post".
"FROM WolfeboroC.posts".
"JOIN WolfeboroC.users ON users.recid = posts.business_id".
"WHERE city= '$city' && state='$state' ".
"ORDER BY date DESC LIMIT 0, 500") ) 
{
  while($record = $query->fetch_assoc())
  {
Run Code Online (Sandbox Code Playgroud)

$results …

php

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

使用Spring roo over play框架的优势(如果我们使用Spring框架)?

我最近偶然发现了Play框架,同时评估了在项目中使用的框架.我需要使用Java语言和JVM(因此grails不是一个选项).

从最初的印象Play框架看起来非常类似于Django(或Rails),但Spring Roo看起来很有趣,因为我使用Spring框架作为核心组件.

如果我已经使用了核心Spring框架(例如集成),那么使用Spring Roo有什么优势吗?

Spring Roo有任何已知的重大问题吗?(例如失去对代码生成的控制权)

spring spring-roo playframework

11
推荐指数
3
解决办法
7344
查看次数

使用ObjectId而不是普通的String有什么好处?

使用ObjectId代替UUID作为普通字符串有什么好处?

mongodb

10
推荐指数
1
解决办法
1384
查看次数

分析java进程的线程转储

我在tomcat上运行基于Java EE的应用程序,我看到应用程序在运行几个小时后突然挂起.

我在应用程序挂起之前从应用程序中收集了线程转储并将其放入TDA进行分析:

在此输入图像描述

TDA(线程转储分析器)为上述监视器提供以下消息:

A lot of threads are waiting for this monitor to become available again.
This might indicate a congestion. You also should analyze other locks 
blocked by threads waiting for this monitor as there might be much more 
threads waiting for it.
Run Code Online (Sandbox Code Playgroud)

这是上面突出显示的线程的堆栈跟踪:

"MY_THREAD" prio=10 tid=0x00007f97f1918800 nid=0x776a 
             waiting for monitor entry [0x00007f9819560000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at java.util.Hashtable.get(Hashtable.java:356)
    - locked <0x0000000680038b68> (a java.util.Properties)
    at java.util.Properties.getProperty(Properties.java:951)
    at java.lang.System.getProperty(System.java:709)
    at com.MyClass.myMethod(MyClass.java:344)
Run Code Online (Sandbox Code Playgroud)

我想知道"waiting for monitor entry"国家意味着什么?并且也会感谢任何帮助我调试此问题的指针.

java thread-dump java-ee-6

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

比较groovy中的版本字符串

嘿我已经创建了一个Groovy脚本,它将提取某些文件夹的版本号.然后我想比较版本号并选择最高版本.

我让我的脚本通过dir文件夹运行,然后我得到这种格式的版本: 02.2.02.01

所以我可以得到这样的东西:

  • 02.2.02.01
  • 02.2.02.02
  • 02.2.03.01

我没有它们作为列表,但像这样:

baseDir.listFiles().each { file -> 
  def string = file.getName().substring(5, 15)
  // do stuff
}
Run Code Online (Sandbox Code Playgroud)

此外,我已经测试过Groovy可以将它们与>运营商进行比较,它可以!但现在我需要选择版本最高的那个

string groovy compare

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

如何为git commit消息设置模式?

我想限制那些提交具有特定提交消息格式的人,我该怎么做?

例如: Pair_Name|Story_Number|Commit_Message

git

9
推荐指数
1
解决办法
6065
查看次数

Scrum术语:新功能和增强功能之间的区别是什么?

我想要回答的主要问题是:在软件开发方面,"新功能"和"产品增强"之间的区别特征是什么?具体来说,当应用于Scrum时.

以下是一些可能出现的标准:

  1. 请求的复杂性(点)
  2. 最终结果与应用程序的其他部分的独立性如何(例如,添加一个字段以形成vs添加一个全新的表单)

另一种可能性是,我正在考虑这一切都是错误的,应该使用更好,更清晰的术语.

agile scrum

9
推荐指数
2
解决办法
6147
查看次数