2

私たちのチームでは、開発ブランチ、ステージング ブランチ、マスター ブランチに加えて問題用のブランチを使用しています。このワークフローでは、次の多くの作業を行っていることに気付きます。

たとえば、開発ブランチでは次のようになります。

git checkout staging; git merge development

誰かがこれに簡単なエイリアスを持っていますか?

次のようになります。

merge_with master

するでしょう:

git checkout master; git merge previous_branch
4

6 に答える 6

2
git checkout master; git merge HEAD@{1}

次を使用してエイリアスを割り当てることができます。

git config alias.mm '!git checkout master; git merge HEAD@{1}'

これでgit mm、現在のブランチが master にマージされます。

于 2009-12-31T09:09:46.263 に答える
1

git merge競合が発生した場合は常に現在のブランチで実行されるため、最初にステージング ブランチをチェックアウトする必要があります。

ただし、線形履歴が許可されている場合は、 を使用できますgit rebase development staging

マイケルが言ったように、エイリアスはいつでも作成できます。

編集:これを .git/config に追加すると、それが実行されます

[alias]
    merge_to = !sh -c 'CURRENT=$(git symbolic-ref HEAD) && git checkout $1 && git merge $CURRENT' -
于 2009-12-31T08:45:19.990 に答える
0

ご助力いただきありがとうございます。誰もが私が望んでいたことを正確に行うことはできませんでしたが、正しい方向に導いてくれました.

~/.bash_login に以下を追加しました。すべての git リポジトリに対して、「merge_to somebranch」は git checkout somebranch; を実行します。git マージの前のブランチ。

# Git functions to quickly merge branches
# e.g. merge_to staging
function current_branch { ref=$(git symbolic-ref HEAD 2> /dev/null); echo ${ref#refs/heads/} }
function merge_to       { branch=`eval current_branch`; git checkout "$@" && git merge $branch }
于 2009-12-31T10:33:28.337 に答える
0

特に私たちのプロジェクトの1つでは、微妙に異なるいくつかの生産ブランチがあるため、私はこれを永遠に行っています。修正/更新を展開すると、指が疲れる可能性があります。

そこにいるすべてのWindows bodのために:私はちょうど私の%path%のどこかにmerge.batファイルを作成しました、そしてそれは含んでいます:

git checkout %1 && git merge %2 --verbose

それから私がすることは

merge foo bar

そしてそれは実行されます:

git checkout foo 
git merge bar --verbose
于 2012-05-16T10:49:51.783 に答える
0
git config alias.thething '!git checkout staging ; git merge $1'

あなたに1つを与えるべきです

git thething development
于 2009-12-31T08:36:04.117 に答える
0

これは、まだ機能していないことを除いて、私が意味することの一種です。

branch="$(git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/')"; echo "git checkout master; git merge $branch"

まず、現在のブランチが何であるかを調べます。次に、それを使用して、マージするブランチを決定します。

次は、エイリアス引数を追加する方法を見つけることです...

于 2009-12-31T08:56:22.680 に答える