使用git

时间:2018-05-07 14:03:27

标签: git

当我想使用git在我的代码中进行一些小修复时,我会执行以下操作:

git checkout -b fix
# fix the code
git commit -a
git checkout master
git rebase fix
git branch -d fix

因为这种方式一直发生在我身上,我想知道是否有更有效的方式?只是将这些命令放在一起或类似的任何方法。

最值得注意的是,我想将最后三个步骤放在像git complete-fix这样的命令中。我怎么能设置这样的命令?对于这种情况,别名是不够的,因为分支名称不会总是"修复"但可能会有所不同。我也不想使用别名参数传递当前分支名称。

2 个答案:

答案 0 :(得分:0)

如果您正在使用bash(或类似的shell),则可以使用别名执行此操作:

alias git-complete-fix='branch=$(git rev-parse --abbrev-ref HEAD) ; if [ -n "${branch}" ]; then git checkout master ; git rebase ${branch} ; git branch -d ${branch} ; fi'

如果您希望它的行为类似于新的git命令(如git complete-fix示例中所示,您可以将该别名的内容放入名为git-complete-fix的shell脚本中,然后使脚本可执行把它放在你路上的某个地方:

#!/bin/bash
branch=$(git rev-parse --abbrev-ref HEAD)
if [ -n "${branch}" ]; then
    git checkout master
    git rebase ${branch}
    git branch -d ${branch}
fi

然后,您可以使用git-complete-fixgit complete-fix调用脚本。

答案 1 :(得分:-1)

我建议而不是

git checkout master
git rebase fix
git branch -d fix

DO

git checkout master
git merge fix
git branch -d fix

这会将最新的提交设置为master上的最新提交,而不是git rebase中最旧的提交。

有关使用git建议的工作流程的详细信息,请阅读this Q&A上的Software Engineering