2

gitローカルおよびリモートバージョン管理の概念を理解するのに問題があります。たとえば、ローカルのgit担当者にiPhoneアプリがあります。当初、これは私のマスターブランチでした。次に、新しいブランチをチェックアウトしましたgit checkout -b "update-2.0.1"

次にgit push origin update-2.0.1、このアプリの更新を開発するための個別のブランチがあることを確認し、完了したらそれをマスターブランチにマージして戻します。罰金!

更新ブランチを使用しているので、すべての課題IDのブランチを作成します。だから私は言うgit checkout -b "#3178"-私が今この新しい問題をプッシュしようとすると-私のリモートリポジトリのブランチはgitが言う"Everything-up-to-date"

この問題のブランチをリモートリポジトリにプッシュできない理由がわかりませんか?

git remote -b戻り値

オリジン/マスター

origin / update-2.0.1

3番目のブランチが見たいです

origin / update-2.0.1 /#3178

4

3 に答える 3

2

最初のコマンドを繰り返す必要があります。

git push origin <name-of-branch>

ローカルで作成するすべての新しいブランチに対応するリモートブランチを作成します。プッシュする場所がない限り、Gitはプッシュしません。それが必要な場合、これは空のブランチにすることができます。

その後、あなたは

origin/<name-of-branch>

ではなく

origin/<name-of-branch>/<name-of-other-branch>

それらは階層なしでリストされますが、実際には互いに分岐しています。gitkなどを使用して履歴ログを視覚的に表示し、これを確認します。

問題の作業を終了し、それを元のブランチにマージする場合は、次のようにします。

git checkout <name-of-original-branch> // update-2.0.1
git merge --no-ff <name-of-finished-branch> // #3178
git push origin // Will write local update-2.0.1 to origin

--no-ffオプションを使用することが、リリースサイクルの一部として他のブランチから外れるブランチを追跡するための非常に強力なモデルである理由を視覚的に説明したい場合は、gitflowを確認てください。

于 2012-07-02T14:26:07.630 に答える
0

マージするブランチに切り替えます。たとえば、「master」に移動し、他のブランチupdate-2.0.1をマスターにマージします。

git checkout master
git merge update-2.0.1
git push

例えば。次に、マスターブランチの更新ブランチからのすべての変更があり、これをプッシュできます。

本当に新しいブランチだけが必要な場合は、

git branch name

この時点であなたがいるブランチから。それをオリジンにプッシュすると、新しいリモートブランチができます

で確認してください

git branch -r #remote branches
git branch #local branches
于 2012-07-02T14:22:48.580 に答える
0

新しいブランチがリモートリポジトリにプッシュされなかった理由は、二重引用符を使用しなかったためです。

git push origin "new-branch"

また、ブランチの名前を変更するときは常に二重引用符を使用します。少なくとも私の場合は、Web内のすべてのコードサンプルがこの構文を使用しているわけではありませんが、機能しました。

于 2012-07-04T15:17:40.307 に答える