問題タブ [git-remote]
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 リポジトリではないようです
Git リポジトリの URL が正しいのに、このエラーが発生するのはなぜですか?
以下のコンテキストで、またはスクリーンショットとして参照してください。
git - git push がプッシュするすべての参照のリストを取得する方法は?
プッシュされたすべての参照に特定の必要な情報を含むコミット メッセージがあることを検証するために、リモート リポジトリに pre-receive フックが存在する git ワークフローを実装しようとしています。開発者に利便性を提供するために、開発者がローカルの git コマンドを実行して、すべての参照がプッシュ コマンドによってプッシュされることを確認できるようにして、プッシュがフックを通過するかどうかをプッシュする前に確認できるようにしたいと考えています。また、filter-branch などを呼び出す新しい git コマンドを作成して、すべてのコミット メッセージを書き直して不足している情報を埋めます。
では、push コマンドによってプッシュされるすべてのリストを取得することは可能ですか? git push --dry-run --verbose
非常に大まかな要約のみを示します。
例えば、
git - リモート ブランチを git 安全にチェックアウトしていますか?
私は Git の学習を始めたばかりで、私が使用しているチュートリアルでは、リモート リポジトリのクローンを作成する場合、リモート ブランチへの切り替えは絶対にダメだと書かれています。つまり、ブランチ名を持つリポジトリのクローンを作成し、それでbranch1
作業したい場合は、使用する必要があります
それを追跡します。しかし、私が使用しようとしたとき
Git が返信しました
したがって、私の常識では、そのチュートリアルが書かれて以来、Git の開発者はその落とし穴を修正し、誰かがリモート ブランチに切り替えようとすると、Git が自動的に正しい方法でそれを行い、それを追跡するローカル ブランチを作成するようにしました。ただし、リリース ノートや Google 検索で、この変更に関する参照が見つかりません。
それで、彼らはそれを修正しましたか?これらのリモートブランチをチェックアウトするだけで安全ですか? それとも、そのチュートリアルの警告を誤解していて、注意すべき別の落とし穴について言及していたのでしょうか?
git - あるリモートから別のリモートへのGitプッシュブランチ?
次のリモートを設定しています。
そして、次のブランチ:
ここで、すべてのリモートブランチをからリモートにプッシュしたいと思います。それ、どうやったら出来るの?korg
rorg
それが避けられるのであれば、できれば最初にそれぞれにローカルブランチを作成せずに。
git - チームベースの Git ワークフロー
最近、リポジトリとユーザー(グループ内)とともに、Gitolite Ubuntuサーバーをセットアップしました。実際に機能するものについては、すべてが順調に進んでいます。
私の Git 調査で、私たちが望む方法で動作する特定のGit モデルを見つけました。現在の開発バージョンを台無しにすることなく、現在のソースにホットフィックスを適用する方法が切実に必要でした。「nvie」のこのモデルは、私たちのすべてのニーズに応えます。
問題は、このモデルを使用したリモート ホスティングを実際に説明していないことです。そして、いくつかのことを理解できません。
現在、完成した新しいブランチを追加するたびにfeature-*
、同じ名前でリモート ブランチにプッシュすることを考えています。しかし、これは、後日、私たちの 1 人が手動でそれらをプルし、競合がないようにする必要があることを意味します。
「nvie」モデルをチームベースのワークフローで使用するにはどうすればよいですか?
より明確にするために編集します:
チームの誰も、たとえば 2 人が独自の機能を開発する方法を理解していません。最初の人は自分の機能を終了し、 にマージしdevelop
ます。2番目の人は何をしますか?変更をスタッシュしてブランチにプルダウンし、スタッシュをdevelop
適用しますか?
お互いに新しい変更を上書きすることなく、同時に開発を進める方法などはわかりません。
git - gitでのリモートブランチのマージ
私は別のプロジェクトの軌跡をたどり、元のプロジェクトに直接ではなく、自分のものを追加するシステムを開発しています。3つのリモートブランチを使用してリポジトリを設定します。
- マスター-私の開発が行われる場所。
- ベンダー-元のプロジェクトと定期的に同期する場所。
- 統合-(マスター)と(ベンダー)を一緒にマージしたい場所。
私のワークフローのアイデアは、同期が自動的に行われ(基本的には早送りであるため)、統合は半分手動で行われることです(マージと修正が必要なため)。最初の部分(同期)については説明しましたが、マスターとベンダーを統合に統合するために実際に発行するコマンドがわかりません。
これはgitbranch-aの出力です:
この時点から次のように進むにはどうすればよいですか。
- このワークスペースをリモートリポジトリと同期しますか?
- ベンダーとマスターを統合に統合しますか?
- 統合をリモートリポジトリにプッシュバックしますか?
そして明らかに、ワークフローに何か問題がある場合は、それを聞きたいと思います。
git - git リポジトリのリモートの場所を表示するにはどうすればよいですか?
リポジトリのリモートに関するすべての既知の情報を個別に、または一度に表示する方法はありますか?
git - これらのリポジトリのコミットログを保持しながら、リモートリポジトリをクリーンアップする方法はありますか?
私はリモートブランチを削除する方法を知っているので、この質問はそうではありません: 古いリモートgitブランチをクリーンアップする方法 や githubで廃止されたブランチを管理する方法
むしろ、私の問題は、古い機能ブランチを削除するとコミットメッセージが失われ、JIRAがタグを発行することです。したがって、JIRAからの特定の問題に対して行われたコミットを確認できなくなります。
gitブランチ-リストからリモートブランチをクリーンアップ、クローズ、または非表示にする方法はありますが、JIRAのgitプラグインがその処理を実行するために必要なメッセージを破棄しないでください。
git - git で単一のリモート リポジトリからファイルを非表示にするにはどうすればよいですか?
別のリモート リポジトリとして設定した github で共有を開始したいプロジェクトがあります。しかし、明らかに github で共有したくない機密設定情報 (Amazon s3 アカウントの詳細) があります。
リモート github リポジトリに設定ファイルを無視させる方法はありますが、ローカルおよび他のリモート リポジトリはそれで動作しますか?
編集 - この質問を再度開いて、これを実行できる他の分散ソース管理システム (mercurial? bazaar? など) があるかどうかを確認します。
git - GIT クローンと最初の GIT プッシュの問題
2 つの問題があります。Ubuntu 10.10 を使用しており、gitolite ツールを使用して git サーバーをインストールしました。すべてがうまくいきました。gitolite の gl-setup コマンドは、gitolite-admin と testing の 2 つのリポジトリを作成しました。
1) 質問 1
私のデフォルトの gitolite 管理者ユーザーは「git」と呼ばれ、既に作成されています。
最初に、gitolite-admin リポジトリのクローンを作成し、たとえば conf/gitolite.conf にいくつかの変更を加えて、新しいリポジトリと新しいユーザーを追加する必要がありました (root ユーザーを追加し、前に秘密鍵/公開鍵を作成し、さらに追加しましたkeydir フォルダーへの公開鍵)、変更を追加/コミットしてプッシュバックする必要がありました.3
情報: 私の ~git/.ssh/authorized_keys ファイルは問題ありません。command= で始まり、最初に作成した git ユーザーの公開鍵という 1 つの値しかありません。
動作しませんでした:
働いた:
内容:
最初のバリアントがまったく機能しなかったのはなぜですか? すべてのチュートリアルでは、問題なく動作するはずです。~/.ssh/config ファイルでそのホスト構成を作成するために、2 番目のバリアントを使用する必要がありました。これは少しイライラします。リポジトリ パスは /home/git/repositories で、ssh はデフォルトのポート 22 です。
2) 質問 2
同じサーバーでユーザー root を使用して、たとえば /var/www/example.com/www に空のフォルダーを作成しました。git init を実行してから、ファイル (.gitignore) を追加し、git add -A と git commit -m "..." を実行しました。
次に、origin のリモート パスを作成しました。
git push origin master を実行したところ、次のようになりました。
リポジトリへのパス全体を配置するなど、さまざまなことを変更しようとしました(どこにも表示されなかったので、正しくありません)。
私が間違っていることは何ですか?このような基本的なタスクに対して、私はこの異常な困難を経験しているため、これはイライラしています。私は SVN の経験が豊富で、GIT を使用するのは初めてです。
よろしくお願いします。