問題タブ [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 : デフォルトのリモート プッシュ先ブランチを指定する方法は?
abc
を追跡する「 」という名前の追跡ブランチがあるとしますorigin/master
。
' abc
' で を実行すると、' ' が ' 'git push
にプッシュされます。
' ' だけでリモート プッシュ ブランチを指定するにはどうすればよいですか?abc
abc
git push
git - ライブサーバーへの Git プッシュ
PHP/HTML/JS/CSS/etc ファイルがすべて Git リポジトリに保存されている Web サイトがあります。
現在、リポジトリ用の 3 種類のコンピューター (またはユース ケース) があります。
- ローカル開発者: 最新の変更をプルし、変更を加え、ローカル リポジトリにコミットし、マスター サーバーにプッシュします。
- マスター サーバー: 中央リポジトリ、すべての変更がマスター サーバーにプッシュされます
- Web サーバー: Web サイトのデプロイ時に変更がマスター サーバーから取り出されます。
したがって、現在、次のことを行っています。
私の質問は、ローカル コンピューターから Web サーバーに直接プッシュできる方法はありますか?
すなわち。
git-push - git push がハングして何もしない
私はgitを初めて使用し、テストしています。友人のリポジトリを複製して、小さなローカル変更を加えてコミットすることができました。
ローカルの変更をリモート リポジトリにプッシュするテストをしたいのですが、残念ながらプッシュしようとすると
$ git push <my friends remote repository
>
<---- ここでハングアップして待っている..私はctr-cで抜け出す
ここに私の現在のステータスを示すいくつかの情報があります、
$ git remote show origin
フェッチ URL: git://codaset.com/nickbmarine/nickspix.git
プッシュ URL: git://codaset.com/nickbmarine/nickspix.git
HEAD ブランチ: マスター
リモート ブランチ:
リファクタリング
マスター 追跡
ローカル ブランチ'git pull' 用に構成:
マスターがリモート マスターとマージ
'git push' 用に構成されたローカル ref:
マスターがマスターにプッシュ (早送り可能)
何か案は?
git - 誤ったgitpush-f origin masterからどのように回復できますか?
--force
オプションを使用して、プロジェクトに間違ったソースをコミットしました。
元に戻すことはできますか?以前のすべてのブランチがオプションを使用して上書きされていることを理解している-f
ため、以前のリビジョンを台無しにした可能性があります。
git - 裸の Git リポジトリにプッシュするときに「receive.denyCurrentBranch」エラーが発生する
あるマシンからブランチをプッシュし、別のマシンにプルしたリモート git ベア リポジトリを用意します。
他のマシンでいくつかの変更を行い、それらの変更をリモートの裸のリポジトリにプッシュしようとすると、「receive.denyCurrentBranch」エラーが発生します。
どうしたの?
これは、何もチェックアウトされていない裸のレポでは発生しないはずです。
マシン 2 から見たブランチは次のとおりです。
「修正」は、両方の開発マシンの現在のブランチです。
最初にマシン 2 でそのブランチをプルしたとき、次のことを行いました。
最初の「remotes」行が疑わしい - HEAD が現在のブランチを指しているように見えるが、そうではない。ここで何かが足りないと思います..
更新 1 「修正」ブランチを dev1 ブランチにマージしてから、「dev1」ブランチをプッシュしました。
これは回避策でしたが、本当の問題は、HEAD が現在のブランチ ('Fix') ではなく、非アクティブなブランチ ('dev1') に関連付けられていたことだと思います。リモートリポジトリのヘッドを変更する方法がわかりませんか?
git - 新しいブランチを Git リポジトリにプッシュする際に問題が発生するのはなぜですか?
svn to git migration の後に使用できないブランチに関する質問のフォローアップとして、別の問題があります。新しいブランチを中央の Git リポジトリにプッシュできません。
したがって、これは私のブランチをサーバーにプッシュしません。同僚から、次のような .git/config を調べるように勧められました。
手動でプッシュ エントリを追加するようにアドバイスされました。
今、物事は良く見えました:
これはうまくいきましたが、それでもハックのように感じます。これを行う適切な方法は何ですか?
git - Gitプッシュエラー:ssh:ホスト名を解決できませんでしたdomain.com [:7555]:ノード名またはservnameが指定されているか、不明です
Gitを使用してサーバーにプッシュできないようです。ただし、ボックスにSSHで接続できます。
理由がわかりません:
$ git push server_idm
ただし、ボックスにSSHで簡単に接続できます。
$ ssh -p 7555 username@domain.com
git - refspecを使用してGitタグをブランチにプッシュするにはどうすればよいですか?
たとえば、タグ1.0.0
をリモートmaster
ブランチに強制的にプッシュしたいと思います。
私は今、次のことをしています:
1.0.0
タグ内のコードがmaster
リモートリポジトリのブランチにプッシュされるだけなので、プッシュを強制したいと思います。
私は何が間違っているのですか?
アップデート#1
GitリポジトリがあるサーバーにSSHで接続して実行すると、ブランチも表示されgit branch -l
ません。master
アップデート#2
git tag -l
リモートGitリポジトリ内から実行した後、それmaster
がリストされていることがわかります。つまり、次を実行したときです。
実際にタグをプッシュし、新しいブランチではなく名前の付いたタグを作成しました 。master
基本的に、タグの内容をリモートGitリポジトリ1.0.0
のブランチにプッシュしたいと思います。master
git - 最新でない場合、git push がリポジトリ全体を送信しないようにする
関連する質問:なぜ Git はオリジン マスターをプッシュするたびにリポジトリ全体を送信するのですか?
短いバージョン: 2 つの Git リポジトリで作業している場合、コミット オブジェクトの 99% が同一であっても、がリポジトリAを指すように設定されているときにコミットをリポジトリBgit push
に送信するために使用すると、すべてのオブジェクト (200MB +) が転送されます。origin
より長いバージョン:継続的インテグレーション サーバーに 2 つ目の Git リポジトリをセットアップしました。コミット オブジェクトをローカルで準備した後、通常のように直接origin/master
プッシュするのではなく、この 2 番目のリポジトリのブランチに変更をプッシュします。CI サーバーは新しいブランチを取得し、それを に自動リベースしmaster
、統合テストを実行します。すべて問題なければ、ブランチをorigin/master
マスター リポジトリにプッシュします。
また、誰かが CI プロセスを迂回して直接プッシュした場合に備えて、CI サーバーはマスター リポジトリからgit fetch
の最新のコピーを取得するために定期的に呼び出します。origin/master
これは、特にgit fetch; git rebase origin/master
CI リポジトリにプッシュする前に a を実行した場合に、うまく機能します。Git は、まだ にないコミット オブジェクトのみを送信しますorigin/master
。プッシュする前にフェッチ/リベースのステップをスキップしても、プロセスは引き続き機能しますが、Git は、すべてではないにしても、大部分のコミット オブジェクトを CI リポジトリに送信しているように見えます。現在、200MB 以上の価値があります。(レポの新しいクローンは 225MB でクロックインします。)
私たちは何か間違ったことをしていますか?Git が CI リポジトリでブランチを形成するために必要なコミット オブジェクトのみを送信するように、この動作を修正する方法はありますか? 明らかに pre-push を実行することで問題を回避git fetch; git rebase origin/master
できますが、特にマスター リポジトリに直接プッシュしても同じ問題が発生しないため、その手順をスキップできるはずです。
私たちのリポジトリは Gitosis 0.2 によって提供されており、クライアントは圧倒的に msysgit 1.7.3.1-preview を実行しています。
git - Gitはプッシュでリモートリポジトリを作成します
私はこれを理解しようとしてきましたが、それを行うのに苦労しています。私は現在、オープンソースプロジェクトに取り組んでおり、ユーザーがリモートリポジトリに存在していなくてもリモートリポジトリにプッシュできるようにする必要があります。サーバーに手動でログインしてまたはを実行することは避けたいです。git init
git init --bare
明らかな理由で、リモートサーバー上の既存のリポジトリを指していないパスにローカルリポジトリをプッシュしようとすると、次のエラーが発生します。
しかし、たとえば次のコマンドを実行できるようにしたいと思います。
そして、それがまだ存在しない場合は、それを作成/myrepo
してもらいます。/var/repositories
どうすればこれを達成できますか?おそらくリモートサーバーで設定する(グローバルな)git config設定、またはローカルで設定する(リポジトリ固有の)git configのようなものだと思いますが、理解できませんでした。
どんな助けでも大歓迎です!
ありがとう!