タグ付けされた質問 「git」

Gitは、オープンソースの分散バージョン管理システム(DVCS)です。このタグは、Gitの使用法とワークフローに関連する質問に使用します。単にリポジトリがGitHubでホストされているからといって、Git関連の問題には[github]タグを使用しないでください。また、Gitリポジトリが関係する一般的なプログラミングの質問には、このタグを使用しないでください。

12
なぜ私のgitリポジトリはとても大きいのですか?
145M = .git / objects / pack / 各ブランチの先端から戻る前に、各コミットとコミットの違いのサイズを合計するスクリプトを書きました。私は129MBを取得しました。これは、圧縮なしで、ブランチ間で同じファイルやブランチ間の共通の履歴を考慮していません。 Gitはこれらすべてのことを考慮に入れているので、はるかに小さいリポジトリを期待します。では、なぜ.gitはそれほど大きいのでしょうか。 終わったよ: git fsck --full git gc --prune=today --aggressive git repack いくつのファイル/コミットについて回答するために、私はそれぞれに40のファイルについて19のブランチを持っています。287コミット、以下を使用して見つかりました: git log --oneline --all|wc -l これに関する情報を格納するのに数十メガバイトは必要ありません。
141 git 

2
Gitを使用したファイルコピー操作の記録
git-mvを使用してgitでファイルを移動すると、ステータスにファイルの名前が変更されたことが示され、一部を変更しても、ファイルはほぼ同じものと見なされます(これは、履歴を追跡できるので良いです) 。 ファイルをコピーすると、元のファイルに履歴があり、新しいコピーに関連付けたいと思います。 ファイルを移動してから、元の場所で再チェックアウトを試みました-一度移動したgitでは、元の場所をチェックアウトできません。 私はファイルシステムのコピーをしてからファイルを追加しようとしました-gitはそれを新しいファイルとしてリストします。 履歴を元のファイルに遡ることができるファイルの名前変更/移動を記録する方法と同様の方法で、gitにファイルのコピー操作を記録させる方法はありますか?
141 git  file  copy 

6
Windowsのgit bashでドライブを変更する
Windowsでドライブの場所E:/Study/Codesに移動しようとしましgit bashた。コマンドプロンプトでドライブを変更するために使用E:するでエラーが返されますgit bash。 bash:E ::コマンドが見つかりません。 どのように私はから私の現在のディレクトリの場所を変更しない/c/usersとE:Study/Codes
141 windows  git  git-bash 

18
バイナリファイルなしのgitignore
ファイルのgit使用時にバイナリファイルを無視するにはどうすればよい.gitignoreですか? 例: $ g++ hello.c -o hello 「hello」ファイルはバイナリファイルです。gitこのファイルを無視できますか?
141 git  gitignore 

6
Gitクローン:ファイルだけですか?
GITリポジトリのクローンを作成し、.gitディレクトリを作成したくない。つまり、ファイルが欲しいだけです。これを行う方法はありますか? git clone --no-checkout私が望むものとは正反対のことをしました(.gitディレクトリだけを与えました)。 ローカルリポジトリではなく、リモートリポジトリに対してこれを実行しようとしています。これは、「「git export」を実行する方法(「svn export」など)の複製ではないことを意味します(解決策は、同じ)。
141 git 

1
GitはサブモジュールのコミットのSHA1をどこに保存しますか?
gitリポジトリにサブモジュールを追加すると、sha1によって参照されるそのサブモジュールの特定のコミットが追跡されることを知っています。 このsha1値が格納されている場所を見つけようとしています。 .gitmodulesそして.git/configファイルのみコミットのSHA1サブモジュールのパスを示すが、ではありません。 git -サブモジュールは、(1)参照だけのことを話すgitlinkのエントリとgitmodules(5)参照は、このどちらかについては何も言いません。
141 git  git-submodules  sha 

9
Gitリポジトリのコンテンツを、履歴を保持する別のリポジトリに移動する
次のコマンドを使用して、1つのリポジトリ(repo1)のコンテンツのみを別の既存のリポジトリ(repo2)に移動しようとしています。 git clone repo1 git clone repo2 cd repo1 git remote rm origin git remote add repo1 git push しかし、それは機能していません。同様の投稿を確認しましたが、フォルダを移動しているのは1つだけで、コンテンツは移動していません。
141 git  merge  repository  migrate 

8
gitにUTF-16ファイルをテキストとして認識させることはできますか?
Virtual PC仮想マシンファイル(* .vmc)をgitで追跡していますが、変更を加えた後、gitはファイルをバイナリとして識別し、差分を表示しません。ファイルがUTF-16でエンコードされていることを発見しました。 このファイルがテキストであることを認識し、適切に処理するようにgitを教えることができますか? Cygwinでgitを使用していますが、core.autocrlfをfalseに設定しています。必要に応じて、UNIXでmSysGitまたはgitを使用できます。

5
隠しておいたものでパッチをフォーマットするにはどうすればよいですか
gitでは、自分の変更を隠しておきます。隠しておいたパッチを作成することは可能ですか?そして、そのパッチを他のリポジトリ(私の同僚のもの)に適用しますか? 私は知ってgit format-patch -1いますが、私がコミットしたことのためだと思います。しかし、私は隠しておいた変更について同じことを探しています。 また、他のリポジトリにパッチを適用するにはどうすればよいですか?
140 git  git-stash  git-patch 

18
.gitignoreを使用して特定のディレクトリ以外をすべて無視する
私の問題は、gitリポジトリにthemes多数のWordPress Webサイトがあり、WordPressにある残りの冗長ファイルを無視して、フォルダーのコンテンツのみを選択的にコミットすることです。 以前に.gitignoreファイルを使用してファイルの種類を無視しましたが、逆に使用できます。つまり、すべてを無視することですが、特定のフォルダーパスを無視することはできますか? root(git repo) -/ wordpress --/(WordPressサイト1)/ wp-content / themes --/(WordPressサイト2)/ wp-content / themes --/(WordPressサイト3)/ wp-content / themes ありがとう 更新: 答えに基づいて、私は次のことを行いましたが、機能していません。何か案は? # Ignore everything: * # Except for wordpress themes: !*/wp-content/themes/* 以下のバリエーションも試しました。 !*/wp-content/themes* !*wp-content/themes/* !wp-content/themes/* !/wordpress/*/wp-content/themes* !wordpress/*/wp-content/themes* これらのどれも私のthemesフォルダを読みません。
140 git  gitignore  glob 

2
gitでマージコミットの親を取得するにはどうすればよいですか?
一部のgitコマンドは親をリビジョンとして使用します。その他(などgit revert)、親番号として。両方のケースで親を取得する方法。グラフィカルログコマンドを使用したくないので、2番目の親を見つけるには長いツリーを下にスクロールする必要があることがよくあります。
140 git  merge 

28
gitでリモートリポジトリのクローンを作成中にホストgithub.comエラーを解決できませんでした
私がしたこと:Githubにリモートリポジトリを作成し、ローカルマシンにリモートリポジトリのクローンを作成しようとしています。クローン作成中に、クローンURLとターゲットフォルダーを提供します。 しかし、クローンを作成しようとするたびに、次のエラーが発生します。 エラー:「致命的:アクセスできません」 https://github.com/hyperion057/spring-repo.git/ 'できません:ホストを解決できませんでした:github.com」 GitHubに接続するにはどうすればよいですか?
140 git  github 


7
どうすればgitにファイルの今後のリビジョンを無視させることができますか?
gitリポジトリに含まれるファイルのデフォルトバージョンを作成しました。誰かがリポジトリのクローンを作成するときに、このファイルのコピーを入手することが重要です。ただし、後でこのファイルへの変更を無視するようにgitを設定したいと思います。 .gitignore追跡されていないファイルでのみ機能します。 私の動機は、このファイルにマシン固有の情報が含まれていることです。私はデフォルト値を提供する一方で、元のリポジトリにプッシュバックされないローカル変更をユーザーが行えるようにし、新しい変更をプルするときにマージの競合を作成します。 私たちは一般的にかなり怠惰でgit add .たくさん使用しているので、このファイルを無視するようにgitに指示できない場合、私はかなり確信しています。 要約する、 私はファイルを作成し、それdefault_values.txtを私のgitリポジトリに追加され、誰かがそのリポジトリのクローンを作成するときに含まれるファイルと呼びます。 git add .default_values.txtコミットに追加しないでください。 この動作は、リポジトリのクローンに渡される必要があります。
140 git  gitattributes 

14
Heroku「アクセスが拒否されました(公開鍵)致命的:リモートリポジトリから読み取れませんでした」woes
私は何時間もずっと探し回って、一見簡単に修正できるように見える問題の解決策を探していました。私の検索で何も見つからなかったわけではありません。私の検索で非常に多くの異なるソリューションが見つかりました。どれもうまくいきませんでした。 とにかく、私は自分のMacからHerokuリポジトリを単にプッシュ、プル、またはフェッチすることができません。すべての試みは、私をあざけるように私に次のエラーを与えます: '許可が拒否されました(公開鍵)。致命的:リモートリポジトリから読み取れませんでした。 私はさまざまな方法で修正しようとしました(そして再試行しました)。私が言ったように、私は過去2日間のかなりの部分を使って答えを探しました。これが私が試したことのいくつかです: heroku keys:clearの後にheroku keys:add 「ssh-keygen -t rsa」を使用して自分でSSH鍵を再生成する 私の.sshディレクトリをクリアしてから、heroku keys:clearを実行し、続いてsshキーを生成します。 herokuでアプリを削除して再作成する(幸い、そこにはあまりありませんでした) 私はGitHubリポジトリから正常にフェッチできるので、ネットワーク接続ではないことがわかります(herokuへのpingも機能します)。 その場しのぎの解決策(永続的な解決策にならないことを願っています)として、私はUbuntu Amazon AWS ec2インスタンスにログインしました。HerokuへのプルとHerokuからのプッシュは完全に機能します。このため、Macのsshキーに問題があるように感じます。両方のキーがHerokuアカウントの下に表示されます。重要な事項の最後にあるメールアドレスは重要ですか? 編集:GitHubからプッシュおよびプルできます(ただし、sshは使用していません)。 この時点で、私は何でも試したいと思っています。ありがとう!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.