我在过去几天一直在研究和阅读有关Scrum的内容,并阅读有关Sprint规划和任务的内容.我脑海中浮现的一个问题是如何处理Scrum中的错误.Henrik Kniberg 在Trenches的非常好的书Scrum和XP中列出了一些处理这个问题的方法:
这真的需要根据项目来决定还是有更好的解决方案?我可以想到每种方法的问题.是否有混合物来自那些效果最好的方法?你如何在你的项目中处理这个?
假设我在第一次推送到远程Git存储库时犯了一个错误.我可以以某种方式还原这个,以便存储库回到它的初始状态?我无法访问远程计算机,因此无法删除.git目录.
就我所见,问题在于你不能"解开"头部.
这就是我(或实际上是一位询问此事的同事)所做的事情(我在这里做了一个本地的"远程"回购,所以任何人都可以测试这个):
mkdir git-remote
cd git-remote
git init --bare
cd ..
mkdir git-local
cd git-local
git clone ../git-remote .
touch a
git add a
git commit -m "initial"
git push origin master
Run Code Online (Sandbox Code Playgroud)
此时他意识到他将错误的东西推送到远程存储库.
我唯一的想法就是从他的repo && git rm && git push中删除一切,这仍然会让错误的提交在那里,但文件不会打扰第二次推送.
有没有办法只在Git中显示分支结构?有许多的,显示的图形提交工具,但对我来说名单很长,所以这是不可能看到的结构.我猜git-log可能是答案,但我找不到任何只显示分支提交的开关.这与"--graph --branches --oneline --all"一起可以解决问题.
编辑:我正在寻找一种方法在Ubuntu中做到这一点.
这实际上是可行的吗?我有一些非常长的正则表达式模式规则很难理解,因为它们不能同时适应屏幕.例:
test = re.compile('(?P<full_path>.+):\d+:\s+warning:\s+Member\s+(?P<member_name>.+)\s+\((?P<member_type>%s)\) of (class|group|namespace)\s+(?P<class_name>.+)\s+is not documented' % (self.__MEMBER_TYPES), re.IGNORECASE)
Run Code Online (Sandbox Code Playgroud)
反斜杠或三重引号不起作用.
编辑.我结束使用VERBOSE模式.以下是正则表达式模式现在的样子:
test = re.compile('''
(?P<full_path> # Capture a group called full_path
.+ # It consists of one more characters of any type
) # Group ends
: # A literal colon
\d+ # One or more numbers (line number)
: # A literal colon
\s+warning:\s+parameters\sof\smember\s+ # An almost static string
(?P<member_name> # Capture a group called member_name
[ #
^: # Match anything but a colon (so finding …Run Code Online (Sandbox Code Playgroud) 我试图找到有关这方面的信息,但空手而归:
我认为可以使用反射或代理在Java中动态创建一个类,但我无法找到方法.我正在实现一个简单的数据库框架,我使用反射创建SQL查询.该方法获取具有数据库字段作为参数的对象,并基于该创建查询.但是如果我也可以动态创建对象本身就非常有用,所以我不需要为每个表都有一个简单的数据包装器对象.
动态类只需要简单的字段(String,Integer,Double),例如
public class Data {
public Integer id;
public String name;
}
Run Code Online (Sandbox Code Playgroud)
这可能吗,我该怎么做?
编辑:这是我将如何使用它:
/** Creates an SQL query for updating a row's values in the database.
*
* @param entity Table name.
* @param toUpdate Fields and values to update. All of the fields will be
* updated, so each field must have a meaningful value!
* @param idFields Fields used to identify the row(s).
* @param ids Id values for …Run Code Online (Sandbox Code Playgroud) 是否有人在实际项目中使用新的git super/subproject功能?它的效果如何?例如,据我所知,如果我推送到子项目,我必须手动调用superprojects钩子(可能使用子项目钩子,但仍然)?
有没有人对Linux可用的静态代码分析工具进行任何比较?以下工具的优点和缺点是什么:
您是否认为只使用其中一种工具就足够了?
我不是在寻找建议(我可以找到很多建议),但可以直接比较可用的工具.
我已经安装了git和gitosis,我需要添加一个检查,当某些东西被推入存储库时,用户名是有效的.
我认为预接收挂钩是放置它的正确钩子,但是我无法找到gitosis进入存储库的真实用户名和电子邮件地址(由git config user.name和git config user设置的那些).电子邮件)来自环境变量.LOGNAME和USER都是'git'.gitosis如何检测此信息,我是否也可以在预接收挂钩中找到它?
是否可以设置Git以便我可以在KDiff3中使用三向比较?
我有两个分支,它们太不同了,无法自动合并它们,我只需检查每个合并点,我认为最好的方法是检查分支我希望从其他分支的更改并说
git difftool HEAD_OF_OTHER_BRANCH -- .
Run Code Online (Sandbox Code Playgroud)
然后在KDiff3中选择合并文件.在完成了我刚刚提交的文件之后.
我已将merge.conflictstyle和diff.conflictstyle设置为diff3,但KDiff3仍然以双向diff开头.这可能吗?我想如果Git也将共同祖先的哈希作为参数发送,这是可能的,但是它呢?
有讨论有关如何使用SVN和BC3做到这一点,但我无法找到Git和KDiff3什么.
在Python中打印表格数据的最佳方法是什么?假设数据在2D列表中,我想创建一个智能外观的表.我实际拥有的是一个字典列表,我想根据字典中的值打印一个交集.就像是
for val1 in my_dict:
for val2 in my_dict:
if val1['a'] > val2['a']:
print 'x'
Run Code Online (Sandbox Code Playgroud)
但是这样每个列的宽度都是固定的.Writer和格式化程序类似乎是可能性的东西,但与Perl的格式化程序相比,它仍然看起来很复杂.
是否有任何现有的实现或我必须自己编写?