問題タブ [git-push]
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 - ローカルの Git ブランチをリモートの master ブランチにプッシュするにはどうすればよいですか?
私は自分のローカル リポジトリに develop という名前のブランチを持っています。それをオリジンにプッシュすると、オリジン/マスターとマージされることを確認したいと考えています。現在、プッシュすると、リモートの開発ブランチに追加されます。
これどうやってするの?
git - リモート Git リポジトリから物理的に削除されたファイルの参照を削除する
Git リポジトリから (多くの異なるディレクトリから) 多くのファイルを物理的に削除しました。
それらの参照はまだ見ることができ、GitHub にコミットすると、古いファイルがまだそこに残っています。
これらの参照をリモート リポジトリ サーバー (GitHub) とローカル PC から削除する必要があります。
これらの参照をリポジトリから削除するにはどうすればよいですか?
git - Gitプッシュを適切に強制するにはどうすればよいですか?
リモートの非ベア「メイン」リポジトリをセットアップし、それをコンピューターに複製しました。ローカルで変更を加え、ローカルリポジトリを更新し、変更をリモートリポジトリにプッシュしました。それまでは大丈夫でした。
今、私はリモートリポジトリで何かを変更する必要がありました。次に、ローカルリポジトリで何かを変更しました。リモートリポジトリへの変更は必要ないことに気づきました。git push
そのため、ローカルリポジトリからリモートリポジトリに移動しようとしましたが、次のようなエラーが発生しました。
履歴が失われるのを防ぐために、早送り以外の更新は拒否されました。もう一度プッシュする前に、リモートの変更をマージしてください。詳細については、の「早送りに関する注意」セクション
git push --help
を参照してください。
たぶん
ローカルコピーに変更をリモートコピーにプッシュして同じにするように強制します。強制的に更新されますが、リモートリポジトリに戻ってコミットすると、ファイルに古い変更(メインのリモートリポジトリに以前あった変更)が含まれていることがわかります。
答えの1つへのコメントで述べたように:
[私は]強制しようとしましたが、変更を保存するためにマスターサーバーに戻ると、古いステージングが発生します。したがって、私がコミットするとき、リポジトリは同じではありません。そして、もう一度git pushを使おうとすると、同じエラーが発生します。
この問題を解決するにはどうすればよいですか?
git - gitでローカルの古いエラーを修正するにはどうすればよいですか?
リモートリポジトリにプッシュしようとしていますが、以下のエラーが発生し続けます。
git remote show origin
を示していますmaster pushes to master (local out of date)
。私は支店からのみプッシュするので、時代遅れであってはならないことを確信しています。
2つの質問があります。
ローカルブランチにリモートを上書きさせることは可能ですか?プルすると、リポジトリ内のものよりも明らかに後である変更が上書きされます。
これは私がこの問題を抱えた2回目または3回目です。
git version 1.7.3.1.msysgit.0
gitのローカルバージョンは(Windowsの場合)であり、リモートバージョンはgit version 1.6.5
(Ubuntu Jaunty)であると私が考えることができる唯一のものです。異なるgitバージョンが何らかの破損を引き起こしている可能性はありますか?
git - ファイルがライブで表示されるように、Git ブランチをライブ サーバー ディレクトリに直接プッシュします。
Git にリモート ディレクトリを設定して、ローカルにステージ ブランチをリモートにプッシュし、ステージング サーバー (stage.example.com など) でライブの変更を確認するにはどうすればよいですか?
私が持っている概念 (SVN から離れている理由の一部) は、次のように 3 つの異なる「メイン」ブランチを (ローカルで) 維持できるということです。
- master - ローカル開発、作業ディレクトリに使用
- stage - ステージング サーバー ディレクトリ (リモート) と同期する必要があります
- live - これは一般にアクセス可能な Web サイト (リモート) である必要があります
私が持っているアイデア(および他の人が可能だと主張していること)は、リモートサーバーシェルに常にログインして実行する必要なく、ローカルコンピューターからこれらのリモート「サイト」を維持できるということですsvn update
(現在のsvnワークフローでは、これをすべて行う必要があります時間…) またはもちろん、私の Git ワークフローgit pull
ではリモートで実行されます。
stage
ブランチをローカルにプッシュして(たとえば)すぐstaging remote server
に変更を確認できるように、リモート ディレクトリをセットアップするにはどうすればよいですか? stage.example.com
次に、stage
すべてが正常でテストされたら、ローカルでpush
リモートにアクセスして、ライブ Web サイトでlive
テストしたこれらの変更を行うことができます。stage
これを行うことはできますか、それとも Git で行うことを意図していないクレイジーなアイデアをここで得ていますか?
これが重要な場合に備えて、ローカル サーバーとリモート サーバーに関するいくつかの統計を次に示します。
また、これまでのところ、次のワークフローの試行に失敗しました。
--bare
リモートで Git リポジトリを作成します(どこからでもアクセスできるようにします)- このリモート リポジトリをローカル ディレクトリにクローンし、Git Tower アプリを使用して管理します
- 地元で働く
master (HEAD)
scp -r
--bare
リモート サーバーからリモート ライブ ドメインに git リポジトリをコピーするstage.example.com
- リモートをローカルの作業コピーに追加してから、プッシュを試みます
origin/stage
明らかにこれは機能しませんが、それを改善する理由や方法がわかりません。
SVN のバックグラウンドから来て、Git は初めてですが、チュートリアル(Peepcode & ThinkVitamin)をたくさん見ましたが、これを設定する方法がわかりません。
git - ローカルリポジトリをサーバーにプッシュする
これまで、私はローカルリポジトリ(クローンではなくローカルで初期化された)で作業していました。複数のワークステーションで作業しているため、「オンラインにする」ことにし、リポジトリをサーバーにプッシュしたいと思いました。また、すべてのブランチをプッシュしたいと思います。
したがって、質問は次のとおりです。ローカルで初期化されたリポジトリ全体をプッシュする方法はありますか?
git - git - コードのバージョンを変更しますか?
現在、git を使用する私の方法は、Web サイトをローカルで開発し、見栄えがよくなったらgit push origin master
、サーバーに SSH で接続してgit pull origin master
. アプリのバージョンを簡単に変更する方法があるかどうか知りたいです。たとえば、いくつかの機能を追加した後、しばらくそれらを削除したいとします。コードを削除せずに元に戻すにはどうすればよいですか?
git - リモートがプルされていても、早送りできないと不平を言うGitプッシュ
変更を NAS のレポにプッシュしようとしています。よくわからない失敗です。
ドキュメントには、デフォルトpush
では早送り更新でのみ機能すると記載されています。けっこうだ。だから私はgit pull
(私のリモコンはと呼ばれていますrubix
):
すべてがよく見えます。押してみようかな…
ドキュメントを読みましたgit push
が、現時点では、なぜこの問題が発生しているのか理解できません。
その他のコンテキスト情報は次のとおりです。
その最後の行は疑わしいようです。どうすればどのブランチにもいないことができますか? 追跡されていないファイルと変更された (ステージングされていない) 変更もいくつかあることに注意してください。
どんな助けでも大歓迎です。ありがとう。
git - ローカルの Git ブランチを別の名前のリモートに簡単にプッシュするにはどうすればよいですか?
常に両方の名前を指定せずに、別の名前のリモート ブランチでローカル ブランチをプッシュおよびプルする簡単な方法があるかどうか疑問に思っていました。
例えば:
誰かが remote_branch_name を更新した場合、次のことができます。
そして、すべてがマージ/早送りされます。ただし、ローカルの「newb」に変更を加えると、次のことができなくなります。
代わりに、次のことを行う必要があります。
少しばかげているようです。どこからプルするかを決定するためにgit-pull
使用する場合、同様の構成オプションを使用できないのはなぜですか? これには良いショートカットがありますか、それとも長い道のりを続ける必要がありますか?git-config branch.newb.merge
git-push
git - 更新後のフックからの Git プッシュが失敗する - X はリポジトリではありません
ローカル マシンからプッシュされたときに別のリポジトリに自動的にプッシュする中央リポジトリをセットアップしようとしています。私は数日間グーグルをしており、見つけたすべてのコマンドの組み合わせを試してみましたが、うまくいきませんでした。
セットアップ: 最初に中央リポジトリをベアとして作成し、それを非ベアとして 2 番目のマシンに複製しました。「www」と呼ばれるリモートとして 2 台目のマシンを 1 台目のマシンに追加しました。1台目から「git push www master」を手動で実行し、2台目をSSH経由でアップデートできることを確認しました。次に、リポジトリを HTTP 経由でローカルの開発マシンに複製しました。ローカルからセントラルに問題なくプッシュできます。
現在の形式の更新後のフック:
私はさまざまな SO とブログの投稿からこれをまとめました。最初のマシンの CLI (「cd /var/git_repos/site.git/hooks; ./post-update」) から手動で実行すると正常に動作しますが、実行すると「www は Git リポジトリではありません」というエラー メッセージが表示されます。フックとして。
出力:
誰が私が間違っているのか教えてもらえますか?
編集:私の最初の問題は、site.git のアクセス許可が完全に正しく設定されていないことであることがわかりました。その問題を解決したので、新しい問題が発生しました。
新しい出力:
/etc/sudoers ファイルに以下を追加しようとしましたが、うまくいきませんでした: