我一直在开发提交主分支,并希望将所有提交超出"初始提交"到一个单独的开发分支,并保持主版本的发布版本.
现在,我的树看起来像这样:
master: A - B - C - D - E - F
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
development: B - C - D - E - F
/
master: A -----------------
Run Code Online (Sandbox Code Playgroud)
这样我就可以像这样合并一个版本:
development: B - C - D - E - F --- X
/ \
master: A ----------------------- Y
Run Code Online (Sandbox Code Playgroud)
有人可以建议最好的方法吗?我已经看到了类似但不是确切的案例的其他答案,但我不想冒险搞砸了.
我有个问题。
try {
jdbcConnect( ); //get mysql connect
conn.setAutoCommit( false );
pstmt = conn.prepareStatement (
"INSERT INTO member ( member_name, member_introduce ) VALUES ( ?, ? )", Statement.RETURN_GENERATED_KEYS );
pstmt.setString( 1, "something" );
pstmt.setString( 2, "something" );
pstmt.executeUpdate( );
rs = pstmt.getGeneratedKeys( );
rs.next( );
String no = Integer.toString( rs.getInt( 1 );
pstmt = conn.prepareStatement ( "UPDATE account SET account_name = ? WHERE account_no = ?" );
pstmt.setString( 1, "something");
pstmt.setString( 2, no );
pstmt.executeUpdate( );
conn.commit( );
conn.setAutoCommit( true …Run Code Online (Sandbox Code Playgroud) 假设我有一个包含以下内容的文件系统:
file1.java
file2.java
file3.java
file4.java
Run Code Online (Sandbox Code Playgroud)
我刚刚完成了一个betterfile.java应该替换file1,2,3和4的提交.所以我即将提交betterfile.java,现在我对其他文件毫无用处.那么如何从下次提交中删除它们.我怎么能从我即将要做的提交中删除所有其他文件(file1,file2等等),但仍然保留它们的历史记录?
所以有2个InnoDB表,员工和公司.我使用try/catch块在事务中插入2个查询.然而,当我做出明确的错误在第一个查询(我把一个不正确的表名员工,而不是雇员),数据库不插入的当然是查询中的行,但第二个查询运行,并得到承诺的数据库而不是回滚(因为第一个查询未能插入).
结果是一个emply员工表,但公司表与新记录.我在这里错过了什么?它不应该回滚,因为没有插入第一个查询?
$employee_id = 2;
$employee_name = 'Marky Mark';
try {
$dbh->beginTransaction();
$query = "INSERT INTO employee (employee_name) VALUES (:employee_name)";
$insert_emp = $dbh->prepare($query);
$insert_emp->execute(array(':employee_name' => $employee_name));
$Employee_id = $dbh->lastInsertId();
$query = "INSERT INTO companies (company_name,employee_id) VALUES ('SO',:Employee_id)";
$insert_emp_comp = $dbh->prepare($query);
$insert_emp_comp->execute(array(':Employee_id' => $Employee_id));
$dbh->commit();
} catch (Exception $e) {
$dbh->rollBack();
echo "Failed: " . $e->getMessage();
}
Run Code Online (Sandbox Code Playgroud) 我们刚刚从Subversion切换到Git.
今天早上出现的问题是我们挑选了一个从一个分支到主人的提交,所以maser会有bug修复.然后我们将master合并回分支.
当我们尝试编译时,所选择的提交中的所有添加都在代码中两次.
樱桃挑选的提交包括添加几行代码,最后在代码中两次.幸运的是,它们是完整的函数,所以它抛出了编译器错误.
从未提出过冲突.
我们如何避免这种情况.这是一个主要问题.
谢谢.
我已经从Trunk进行了结账,进行了更改并将更改提交回主干.现在,我想将这些更改也应用到分支.我可以将工作副本切换到该分支,然后将那些已更改的文件提交到分支吗?我确实有我已经更改的文件列表,因此我知道要提交哪些文件.但我想看看是否可以将我的本地副本切换到该分支.
我需要触发2个查询。目前,我正在这样做:
// Begin Transaction
$this->db->beginTransaction();
// Fire Queries
if($query_one->execute()){
if($query_two->execute()){
// Commit only when both queries executed successfully
$this->db->commit();
}else{
$this->db->rollback();
}
}else{
$this->db->rollback();
}
Run Code Online (Sandbox Code Playgroud)
这是正确的方法吗?我在代码中没有使用try..catch,这会使我的代码在任何情况下都不适当或容易受到攻击吗?
当我使用SqlCommand.ExecuteNonQuery()它并且它CommandText有GO(提交)它时,我得到一个SQLException.
我删除它,SQL工作,但整个SQL有很多语句,我想在每个语句运行后提交.而且我不想将它们分成多个SqlCommand对象.
有没有更好的解决方案来保持提交和保持一个独特的SqlCommand对象?
我有一个提交被推送到遥控器,我想改变它的消息.
我知道我可以使用git push -f强制推送不同的提交但首先我需要删除旧提交并保持更改,所以我可以再次提交.
我怎样才能做到这一点?
如何在Linux中为我的提交消息添加环境变量?
VERSION="1.0.0"
git commit -m "we add version " + $VERSION + " and that's it"
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.有谁可以帮我吗?