問題タブ [git-branch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - ブランチを含む Git リポジトリ全体を SVN にエクスポートする
簡単に言えば、いくつかのブランチを持つ git リポジトリがあり、すべてのブランチとコミット履歴を維持しながら、それを SVN リポジトリに移動したいと考えています。
これまでのところ、私はあまり運がありませんでした.私が見つけた方法のほとんどは、私が期待したようにブランチを移行しません. (それらは結合されるか、無視されるか、グルーに食べられます)
私は git-svn (git ローカル、SVN リモート) を使用することを計画していましたが、ドキュメンテーションから、この方法で SVN で Git を使用することは非常に可能であるという印象を受けました.. . しかし、ばか証明のチュートリアルは提供されていません!
これは可能ですか?もしそうならどのように?そうでない場合、git/svn について理解できませんか?
git - gitリポジトリのブランチを新しいリモート(github)にプッシュし、その履歴を非表示にします
私の組織は、githubを使用してソフトウェアのオープンソースバージョンをリリースする準備をしていますが、これに取り組む最善の方法がわかりません。
masterとreleaseの2つのブランチがあり、masterにはリリースしないことを決定した独自のコンポーネントがいくつか含まれており、releaseには配布したいクリーンアップされたバージョンが含まれています。問題は、リリースブランチをgithubにプッシュするだけで、リビジョン履歴を調べることでプロプライエタリコンポーネントを取得できることです。
別のリポジトリを作成し、リリースのHEADをそこにコピーし、を実行して、git init
そのリポジトリをgithubにプッシュすることを検討していました。ただし、将来的にマスターからリリースに特定のパッチをチェリーピックする機能を保持し、それらの変更をgithubにプッシュしたいと考えています。
2つの別々のリポジトリを維持せずにこれを行う方法はありますか?
ありがとう!
アップデート:
もう少し具体的に言うと、これは、現時点でのコミット履歴のようなものです。
「o」はマスターのプロプライエタリブランチのコミットであり、「c」は公開されるべきではないものを削除するコミットです(多くの場合、ファイル全体を削除するのではなく、プロプライエタリコンポーネントに依存しないように既存のファイルを作り直します)。リリースにも適用されるマスターの修正であるため、厳選されています。RELは、安全に公開できると思われるコードのタグ付きバージョンであり、履歴はまったくありません(RELタグの前にすべての専有資料が削除されたわけではないため、リリースブランチの以前のバージョンでも)。
git - ローカルブランチの削除を元に戻す
で必要ないくつかの実験的な変更を加えて、間違ったブランチを削除しましたgit branch -D branchName
。
ブランチを回復するにはどうすればよいですか?
git - git remote prune –予想したほど多くの剪定されたブランチが表示されませんでした
マニュアルページから:
だから私は使用して枝の束を削除しました
そして走った
ただし、プルーニングされたローカルブランチは1つだけでした。これらのブランチのいくつかは私によって作成され、いくつかは同僚によって作成されました。これは、そもそもこれらのブランチを正しく追跡していなかったことを示していますか?
git - Git:フェッチせずにローカルブランチをリモートトラッキングと自動的にマージする方法
想像してみてください、私にはいくつかのブランチがあります:マスター、a、b、c..。
今、私はマスターブランチと「gitpull」にいます。これにより、すべての変更がリモートサーバーからorigin / master、origin / a、origin / b ...ブランチにフェッチされ、CURRENTブランチ(マスター)がorigin/masterとマージされます。しかし、次にAブランチに切り替えて、リモートで追跡されたブランチからこれらのリモート変更を再度マージします。変更を再度フェッチすることはありません(既にorigin /ブランチにあるため)。
私が追跡する(つまり自動的に)リモートブランチを正確に指定せずにこれを行うためのより簡単な方法はありますか?
apache - スタンドアロン サーバー (Apache など) を効率的に分岐して使用する方法
開発ディレクトリ (django-admin.py runserver) に開発サーバーがある Rails または django を使用している場合、分岐が簡単であることがわかります。
現在、Apache (windows) が提供する php を開発しています。php ディレクトリからブランチを作成する場合、httpd.conf を編集して新しいブランチを追加する必要があります。
Apacheですぐに動作するためだけにブランチを取得する方法はありますか? 私はそれが次のようになることを望みます: http://master.project.localhost -> /projects/master
,http://testing.project.localhost -> /projects/testing
ホストファイルにワイルドカードを使用できないことを読みました。これを合理化するには、DNS ソフトウェアなどを使用する必要がありますか?
また、私のプロジェクトは i ディレクトリ、http://project.localhost/masterおよびhttp: //project.localhost/testing を実行できません。動作していません
git - gitでマージのみのブランチを強制できますか?
私はgitを使用しており、ワークフローをサポートするために次のブランチを設定しています。
- リリースされたソフトウェアのみを含むリリース、
- テストグループにリリースされたソフトウェアを含むテスト、
- 開発は、開発が行われる場所です。
- some_topic_branch、機能などが追加されます。
トピックブランチはから分岐し、開発にマージされます。テストリリースの準備ができたら、テストは開発にマージされます。テストリリースの本番環境が承認されると、リリースはテストにマージされます。
これはすべてセットアップが簡単ですが、gitの強制オプションについて疑問に思っています。たとえば、リリースブランチでのコミットのみがテストからのマージであり、リリースブランチで直接変更が発生しないようにするポリシーを適用することは可能ですか?
git - GIT を実験するためのラボのセットアップ
私は初心者(6か月程度)のLinuxユーザーです。
私はかなり長い間 Git を使用していますが、今はより高度なことを学びたいと思っています。私が学びたいのは、リモートを処理/管理するさまざまな方法です。
私の質問は、「リモート」をローカルにセットアップするにはどうすればよいですか? たとえば、次のように 2 つのフォルダーを作成することは可能ですか。
GitHubのレポのように、local_branch
フォルダーを追跡するようにフォルダーを設定しますか?remote_branch
remote_branch
git - 特定のブランチへのプッシュ用にローカル ブランチを構成する
この質問が既にされている場合は申し訳ありません。
「test」という名前のブランチを持つ「git_lab」という名前のレポからクローンを作成しています
「git pull」を実行すると、「test」から「myname_test」への変更が自動的に取得およびマージされますが、git push の場合は、リポジトリとブランチ名を指定する必要があります。
$>git リモート ショー git_lab
「git pull」用に構成されたローカル ブランチ: myname_test はリモート テストとマージされます
ブランチとリポジトリ名を指定する必要がないように、「「git push」用に構成されたローカル ブランチ」を構成する方法はありますか?
git - git サーバーへの単純なマージのプッシュをブロックする
しばらく前に、開発者に をプッシュする前にマージの代わりにリベースを使用するように依頼しました。些細なマージをなくすことで、コミット グラフ (例: gitk、git log) を追跡しやすくなります。
ときどき、うっかりマージしてからプッシュしてしまう人がいます。些細なマージをブロックするサーバー側のフックを作成するための便利な情報やヒントを持っている人はいますか?
「些細なマージ」とは、競合のないマージを意味します。ここに例を示します。これは、git での単純なマージのより良い説明です。
Update Wed Nov 10 01:26:41 UTC 2010 : すばらしいコメント、すべて! ありがとうございました。
- 次のことを考えてみてください。私が皆さんに本当にお願いしているのは、これだけです。
git pull --ff-only
失敗した場合は、git pull --rebase
代わりに行うgit pull
- git.git にはコミッターが 1 人か 2 人しかいませんよね?理論的には、コミット グラフをたどるのは簡単なはずですが、かなり面倒に見えます。
更新 Thu Nov 11 23:49:35 UTC 2010 :
- ここにいくつかの進行中の作業の要点があります
- 別のアイデアは、「git push」ラッパーを使用して、クライアント側での些細なマージを防ぐことです
Update Wed Dec 15 18:34:52 UTC 2010 :
- アディミトラックが近い!ただ 1 つのケースがまだ解決されていません: 重要なマージはまだ機能する必要があります。
- かなり完全なテスト スイートが利用可能です。チェックしてみてください。
- (the?) git mailing listで助けを求めました。