当我想使用git在我的代码中进行一些小修复时,我会执行以下操作:
git checkout -b fix
# fix the code
git commit -a
git checkout master
git rebase fix
git branch -d fix
因为这种方式一直发生在我身上,我想知道是否有更有效的方式?只是将这些命令放在一起或类似的任何方法。
最值得注意的是,我想将最后三个步骤放在像git complete-fix
这样的命令中。我怎么能设置这样的命令?对于这种情况,别名是不够的,因为分支名称不会总是"修复"但可能会有所不同。我也不想使用别名参数传递当前分支名称。
答案 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-fix
或git 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