問題タブ [git-clone]
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でリポジトリのクローンを作成しようとすると、エラーが発生します
2つのボックスがあります。1つはローカルマシンで、もう1つは開発サーバーです。現在、Gitを使用してアプリをデプロイするこの方法をテストしています
ローカルリポジトリをセットアップし、ファイルを追加してからコミットしました。私はWindows7を使用しており、サーバーはWindowsServer2008です。
サーバーはW:\ Driveとしてマップされ、「bare」リポジトリとターゲットの「mock」本番フォルダーが子フォルダーになります。-私はそれぞれにうまく行くことができ、接続の問題はありません。
これが私がすべてをセットアップするためにしたことです:
Local dir git remote add origin w:\ gitCentral
ローカルディレクトリgitプッシュオリジンマスター
C:と入力し、次にCDtestDeploymentと入力します。
今、私は自分のテストフォルダにいます。
A. git clone w:/gitCentralを実行します
Cloning into gitCentral... done.
error: refs/remotes/origin/master does
not point to a valid object! error:
Trying to write ref refs/heads/master
with nonexistant object 559e2165845
06e14ebef1121059e9461a86dd4f8 fatal:
Cannot update the ref 'HEAD'.
git - Aptana が git リポジトリのクローンを作成して新しい PHP プロジェクトを作成できないのはなぜですか?
Aptana 3 を使用して、phpfog を使用して PHP ベースの Web アプリを構築しています。phpfog から git リポジトリを複製して Aptana で新しいプロジェクトを作成したいのですが、これは「php プロジェクト」のオプションではありません。Aptana は、「Rails」および「Ruby」プロジェクトに対してのみこのオプションを提供します。誰かが理由を知っていますか?
このビデオの指示に従おうとしています: http://www.youtube.com/watch?v=21nq-xLvQtM
git - gitワークスペース/クローンをバックアップするために何をお勧めしますか?
私の開発者は頻繁にコミットするのを好まないので、コミットされていない変更を含むバックアップが必要です。
git - 浅いクローンからプッシュできないのはなぜですか?
git clone --depth
コマンドオプションは言う
浅いクローンにこの制限があるのはなぜですか? なぜパッチのみのワークフローなのですか?
一部のプロジェクト ワークフローでは、最新のコミットだけを単一のブランチからコーダーに渡してから、コーダーがpush
メイン サーバーに (早送りで) 開発できるようにする必要があります。これは、一部はセキュリティ、IP 保護、およびレポのサイズのためであり、一部は、大きなレポが素朴なコーダーにもたらす混乱を減らすためです。これを可能にする git ワークフローはありますか?
更新: Karl Bielefeldt の回答に基づくgit checkout --orphan
と、正しい回答になるはずです。ただし、そのブランチだけを新しいユーザーに「複製」し、効果的にプッシュできるようにする必要があります。
マニュアルページには次のように記載されています。
git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>] --orphan
という名前の新しい孤立したブランチを作成し、
<new_branch>
そこから開始し<start_point>
て切り替えます。この新しいブランチで行われた最初のコミットには親がなく、他のすべてのブランチやコミットから完全に切り離された新しい履歴のルートになります。インデックスと作業ツリーは、以前に を実行したかのように調整されます
git checkout <start_point>
。これにより、ルートコミットを<start_point>
簡単に実行することで、一連のパスを記録する新しい履歴を開始できます。git commit -a
これは、完全な履歴を公開せずにコミットからツリーを公開する場合に役立ちます。これを実行して、現在のツリーは「クリーン」であるが、完全な履歴には独自のコードや邪魔されたコードが含まれているプロジェクトのオープン ソース ブランチを公開する場合があります。
のパスとはまったく異なる一連のパスを記録する切断された履歴を開始する場合は、作業ツリーの最上位から
<start_point>
実行して、孤立したブランチを作成した直後にインデックスと作業ツリーをクリアする必要があります。git rm -rf .
その後、別の場所からファイルをコピーしたり、tarball を抽出したりして、新しいファイルを準備し、作業ツリーを再作成する準備が整います。
Junio のコメントへの VonC のリンクは興味深いものです。clone <branch> --options
この場合、マニュアルでガイダンスを提供し、適切なコマンド [eg ] でレポの関連部分だけを抽出できるようにする必要があると思います。push
リポジトリの一致をロックダウンする履歴の下部にいくつかのリンクされたコミットと SHA1 があることで、明らかに成功の可能性が高まります。
Git 1.9.0 の更新: リリース ノート 14 Feb '14。
「浅くクローンされたリポジトリからのフェッチは、主に関連するコードパスが慎重に吟味されておらず、そのような使用法をサポートしていなかったため、禁止されていました。このリリースでは、浅くクローンされたリポジトリからより制御された方法でオブジェクトを転送できるようにします。 (つまり、レシーバーは切り捨てられた履歴を持つ浅いリポジトリになります)。」
これは、浅いクローン作成者にとって朗報です。次へ - 狭いクローンの可能性。
git - gitcloneはアクティブなブランチをチェックアウトしません
「master」と「testing」の2つのブランチを持つリモートのベアリポジトリがあります。HEADは「testing」を指します。このリポジトリのクローンを作成するとき、「master」と「testing」が同じリビジョンにある場合、gitは「master」をチェックアウトします(つまり、HEAD==テスト==マスター)。'testing'が1つ(または複数)のコミットの後ろまたは前にある場合にのみ、gitcloneはローカル側の'testing'ブランチをチェックアウトします。Mac OS X(10.6.8)のgit1.7.5でこれを試しました。
補遺:私は非ベアリポジトリで同じことを試しました:
ルートディレクトリに戻ります。
それは「マスター」です!レポAに戻ります(まだブランチ「テスト中」です):
現在、「テスト」は「マスター」の1つ先のコミットです。次に、Aのクローンを作成しましょう。
Aに戻り、「master」をチェックアウトして「testing」とマージすることで、この奇妙な動作を再確認できます(すべてのブランチが同じヘッドを持つように)。これで、クローンAがDになり、Dがマスターでチェックアウトされます。
performance - --depth 1を使用してクローンを作成し、コミットを作成して、更新を再度プルするのは安全ですか?
の--depth 1
オプションgit clone
:
指定されたリビジョン数に切り捨てられた履歴を持つシャロークローンを作成します。浅いリポジトリにはいくつかの制限があります(クローンやフェッチ、プッシュやプッシュはできません)が、長い歴史を持つ大規模なプロジェクトの最近の履歴にのみ関心があり、修正をパッチとして送信します。
しかし、私は浅いクローンを作成し、いくつかの変更をコミットし、それらの変更を(ベアクローン)オリジンにプッシュしました。
それは私には理にかなっています-つまり、なぜですか?複製されたHEADがオリジンで識別可能であり、私のコミットがこれに加えられる場合、理由はないようです。しかし、マニュアルにはそうではないと書かれています。
私は浅いクローンのアイデアが好きです-たとえば、drupalコア:7から始めたときにdrupal 4で何が起こったのかを知る必要はありません-しかし、私は自分自身を足で撃ちたくありません。
それで、クローンを作成し、コミットを開発し、元からの更新に追いつくために再度プルするのは安全ですか?
git - gitosis サーバーを複製またはミラーリングする方法
他の誰かが設定した動作中の gitosis サーバーがあり、ライブサーバーを変更する前に変更を試すことができるように、Ubuntu で Virtual Box VM 設定を使用してそのサーバーを複製したいと考えています。ライブ gitosis サーバーへのルート アクセス権があるので、必要に応じて /home/git ディレクトリを tar して VM にコピーできます。
では、gitosis サーバーを複製またはミラーリングするには、正確に何をする必要があるのでしょうか? 最初からコピーまたはインストールする必要があるもの。apt-get によってインストールされたパッケージについて話しているのではなく、gitosis のインストールが行うことについて話しているのです。たとえば、単純にサーバーから /home/git をコピーしてそれを使用できますか、それとも /home/git をコピーしてから "git clone --mirror" を使用してリポジトリを置き換える必要がありますか?
また、ここで他に何か不足していますか?たとえば、サーバーが特別なスクリプトを使用して git-daemon を起動する場合、それもコピーする必要があると思います。
git-clone - クローンの直後にgitを古いコミットに戻すことはできません(変更は行われません)
githubの古いバージョン(commit)のコードをテストする必要があります。git cloneを作成してから、
ここで、&idは、確認する必要のあるバージョンのIDでした。このエラーが発生しました:
クローン作成後、ファイルに変更を加えませんでした。
私は何が間違っているのですか?
git - gitリポジトリを選択的に複製する方法
私はGitを初めて使用します。大規模なリモートリポジトリのクローンを作成したいとしますxyzcodebase
。リポジトリの構造は、以下に示すように、さまざまな機能領域用のsrcフォルダーがあるようなものです。
したがって、クローン作成中は、 (大きなサイズの)Functional area 2
コードが必要ないため、多くの時間を節約できます。Functional area 1
そのため、クローン作成後Functional area 2
、ローカルリポジトリにソースコードのみが存在するようになります。
gitリポジトリのそのような選択的なクローン作成を達成する方法はありますか?
よろしくお願いします
git - github からのフォルダーのインストール
github のファイルであるGeany 用の Rails プラグインをインストールしようとしています。リポジトリには、/geany
自分の とマージする必要があるディレクトリがあります~/.config/geany
。ファイルを手動でコピーすることもできますが、更新できるようにリンクを保持したいと考えています。git clone
と の両方を見てみましたが、git merge
どうすればよいかよくわかりません。
2 つのディレクトリを「マージ」するにはどうすればよいですか?
(編集) 私のコンピューターでファイルをマージしたい場所は、現在 git リポジトリではありません。テキストエディタgeany
が使用するのは単なるファイルです。
難しさは、/
マージしたいのではなく、/geany/
フォルダー (の内容) にあるようです。
また、git を使用してファイルを更新するにはどうすればよいですか?