[解決済み] 裸のGitリポジトリにプッシュするには?
2022-04-24 22:52:12
質問
私は通常、リモートサーバーで ssh を使って作業し(画面と vim)、そこに Git リポジトリを持っています。時々、私はオンラインではないので、私のラップトップに別のリポジトリ(リモートからクローンしたもの)を持っています。
しかし、普段はファイアウォールの中にいたり、パブリックIPを持っていなかったりするので、リモート側のこのリポジトリからプルすることができない。
ベアリポジトリにだけプッシュすればいいと書いてありました。その場合、どのようにリモートリポジトリに変更をプッシュすればよいのでしょうか?
どのように解決するのですか?
receive.denyCurrentBranch updateInstead
このオプション が追加されました。 Git 2.3 では この機能は、サーバーの作業ツリーがクリーンである場合に、それを更新するようにします。
ですから、ローカルでプルする前に必ずコミットし、サーバー上の作業ツリーをクリーンに保つ(マージの衝突を避けるためにそうすべきです)なら、このオプションは良い解決策になります。
使用例です。
git init server
cd server
touch a
git add .
git commit -m 0
git config --local receive.denyCurrentBranch updateInstead
cd ..
git clone server local
cd local
touch b
git add .
git commit -m 1
git push origin master:master
cd ../server
ls
出力します。
a
b
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] masterブランチと'origin/master'が分岐している、'undiverge'ブランチの方法は?
-
[解決済み】ローカルにない作業がリモートに含まれているため、アップデートが拒否された
-
[解決済み】gitが「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
Gitのプッシュでエラーが発生! [リモート拒否] master -> master (pre-receive hook declined) error: failed to push some refs to .......
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み] 警告: リモート HEAD は存在しない参照元を参照しているため、チェックアウトできません。
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み】Bareリポジトリと非Bareリポジトリの -実用的な- 違いは何ですか?
-
[解決済み] なぜ新しいブランチを明示的にプッシュする必要があるのですか?