問題タブ [fast-forward]
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.
git - 昔からのマージのFFなし
Gitリポジトリには、マージされるべきで--no-ff
あったがマージされなかったブランチからのマージがいくつかあります。これらのマージはずっと前に行われました。
--no-ff
引数を使用して古いマージを実行しているかのように、コミットを強制/挿入する方法はありますか?
プロジェクトのスーパーの1人は、GitHubのネットワークビューを楽しんでおり、早送りが発生するとすべてが1つの行にマージされる個々のブランチを表示できるようにしたいと考えていました。
git - Git プッシュを早送りマージできないとはどういう意味ですか?
早送りができなかったために中央リポジトリへの Git プッシュが失敗する原因の簡単な例を教えてください。これが発生するためには、ローカルリポジトリと中央リポジトリの状態はどのように見える必要がありますか? これを視覚化するのに本当に苦労しています...
git - --squash と --no-ff --no-commit の違いは何ですか?
マイクロコミットを非表示にするために使用する必要があるのはどれですか?
唯一の違いはgit merge --squash
、git merge --no-ff --no-commit
他の親の否定ですか?
git - 空のリポジトリへのGerritコードレビュープッシュが機能しない
自分のGerritサーバーをインストールして構成しました。GerritのWebGUIを使用してリポジトリを作成しました。「git」コマンドを使用してこの空のリポジトリのクローンを作成できるので、構成は問題ないようです。次に、私は:
アクセスを構成しました:
git config --global user.email ...
、、git config --global user.name ...
リモートを追加:
git add remote origin myUser@myGitHost:29418/project.git
、作成およびコミットされたファイル:
git add file
、gitcommit -m "first commit"
。
ここまでは順調ですね。
しかし、それを自分のリポジトリにプッシュしようとすると、次の出力が得られます。
私は解決策を探してみました。「git pull origin master
」は機能しません。-f
オプションでプッシュしても機能しません。
誰か助けてもらえますか?
編集:プッシュ-fの出力:
「gitpulloriginmaster」とは、pplが言及する最も解決策は、プッシュする前にプルを実行することです。たとえば、http://rip747.wordpress.com/2009/04/20/git-push-rejected -非早送り/。このプル出力:
しかし、プッシュを実行しても、出力は同じです。
早送りとして参照を更新することはできません。
git - Dulwich: 早送りを検出する方法は?
タイトルが示すように、つまり、リモート ブランチがローカル ブランチの祖先であるかどうか、またはその逆かどうかを知るにはどうすればよいですか?
git - gitolite でリモート ブランチの削除を許可し、非早送りを禁止する方法
開発者を許可する必要があります:
1) トピック ブランチを作成し、リモート リポジトリに保存します。
2) 変更を行います。
3) 「開発」ブランチにマージします。
4) トピック ブランチを削除します (git push origin :TestRemoteBranch)。
しかし、使用法 RW パーミッションで非早送りマージを使用することはむしろ禁止したいと思います。ただし、このパーミッションは、トピック ブランチの削除も禁止します。
非早送りマージを回避し、トピック ブランチ (「開発」および「マスター」ではない) を削除できるようにする方法はありますか?
git - コミットが 2 回公開されました: リモート追跡ブランチ 'origin' をマージします
リポジトリ (アップストリーム) からフォークし、ローカルで変更を行い、リポジトリ (オリジン) にプッシュします。
これに加えて、私はほとんどの作業をコンソールで行い、今日はラップトップでいくつかの作業を行いました。
コンソールでオリジンにプッシュしgit fetch origin; git merge origin/master
、翌日ラップトップでプッシュしました。
何が起こったのかというと、前日からすべての変更を取得し、それらをラップトップにコミットし、それらを元に戻しました. これで、コンソール用とラップトップ用に 1 つずつ、同じ作業のためにオリジン/マスターに 2 つのコミット セットがあります。
私は以前に一度公開する必要があることを読んだことがあり、このプッシュされた履歴を変更することを考えていませんが、ワークステーション間で失効が発生するたびにこれを回避したいと考えています. コミット履歴は混乱しているように見えます。
--no-ff
のオプションgit pull
は有望に見えると思いましたが、このトピックで見つけた情報のほとんどは、マスターが他の人によって開発されているため、ローカルブランチの同期を維持することに関するものです。
git - Git は、「git pull」の後でも「non-fast-forward updates」エラーを出します
Github は私のプロジェクトのデフォルトのリポジトリです ("origin" を "github" に名前を変更しただけです)。「git push github master」が動作しているのに、「git push」で「non-fast-forward updates」エラーが発生するという問題が発生しています。「git pull」と「git pull github master」はどちらも最新の状態を示します。(a) Github にマージされていない変更がないことを確認し、(b) 非早送りエラーを修正するにはどうすればよいですか?
私のgit設定ファイルは
git - Git ステータスは、X コミット先のローカル ブランチを示しています - 1 のみである必要があります
ここスタックや他のフォーラムでさまざまな解決策を検索して試してみましたが、この問題を解決できないようです。
Git: ブランチは X コミット分先行しています。git pull の実行に役立たない
最新のように見え、プッシュプル (ファイルなし) で修正されるのに、git が 40 コミット先だと言うのはなぜですか?
オリジン マスターを *pull* する必要があるときに、「あなたのブランチはオリジン/マスターより 857 コミット進んでいます」と表示されるのはなぜですか
全体的な問題は、サイトのチェックアウトをプルしてから、構成 (データベース、API の場所など) にいくつかのローカル変更を加える必要があり、先に進んでローカル変更をコミットするたびに隠して再適用する必要がないようにしたことです。これらのファイル。「ローカル構成コミット」として、これらすべてを1つのローカルコミットで行いました。この時点で git status は 1 進んでいます。
ただし、この 1 か月間、開発と修正を行ってきました。私たちは皆、別々のブランチから離れて開発ブランチにマージし、そこから master などに取り組んでいます。準備が整ったら、本番環境に戻り、「git pull」を使用して変更をプルダウンします。これはうまく機能しているように見えますが、ステータスが変わっていることに今日気づきました。
origin/master に対する git ログを見ると、ローカル コミットとしてマージが行われているように見えますか?
小さなログ スニペット:
私のレポは適切に「早送り」されていて、プルするたびに1コミット先に座っているのではないかと思います。origin/master に対して diff を実行すると、(一見) 構成のみに多くの変更が加えられていないことがわかります。これは、元の構成変更とローカル コミットによるものです。
上記のさまざまなリンクを試し、フェッチやプルなどを試しましたが、役に立ちませんでした。ローカル リポジトリを適切に早送りして、作成したローカル コミットが 1 つだけ表示されるようにする方法はありますか? これらの変更をマスターに正確にプッシュすることはできません。これにより、これらの変更が他のインストールに引き下げられる可能性があります。そして、この問題を解決した後、展開し、いくつかの構成を変更し、継続的に更新できる最善の方法は何だと思います。私の理解では、スタッシュは機能しますが、これは本質的に変更を適切な場所に移動し、プルしてから再適用できますが、特にマージを整理する必要がある場合は、この小さなステップのダウンタイムを許容できません競合します。
または、これらのファイルを何らかの方法でコミットから取り出して、プッシュしてすべてをソートできるようにする方法はありますか?
git - Git 早送りは、以前の履歴を削除してリポジトリ全体を置き換えます
Aという名前の github にレポがあります。このリポジトリを github からローカルに複製しました。元のレポ A には「a」という名前のブランチがあり、これは A の以前のバージョンです。履歴を削除し、レポのすべてのファイルを置き換えたレポの所有者からのコミットがありました。2つを比較すると、githubで、A and a are entirely different commit histories
私の問題は、所有者がマスターブランチを早送りする前に、同期されているようなものにコミットをプッシュしたいということです。しかし、コミットする前に git pull を実行すると (これは良い方法です)、まったく同期していないため、問題が発生することは間違いありません。
最善の解決策は、マスターが何をするかを追跡するのをやめ、それを私が知っている限り不可能なブランチに置き換えることです。早送りコミットを削除して、「a」ブランチに同期させるにはどうすればよいですか。
PS レポの所有者は![rejected] master -> master (non-fast-forward)
、git pull を実行しようとしています。「彼の現在のブランチの先端は、リモートの対応するブランチの背後にあります」と言います
不明な点がある場合は、お気軽にお問い合わせください。2 日連続でこの問題に直面しています。ありがとう。