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

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

9
Gitはサブフォルダーを無視します
.Netソリューションには多くのプロジェクトがあります。すべての「bin / Debug」および「bin / Release」フォルダー(およびそれらの内容)を除外しますが、「bin」フォルダー自体とそこに含まれるすべてのdllを含めます。 .gitignore with "bin /"は、 "Debug"フォルダーと "Release"フォルダーを無視しますが、 "bin"フォルダーに含まれているdllも無視します。 .gitignoreファイルの「bin / Debug」または「bin / Release」は、無視パターンを「Solution / Project / bin / Debug」として完全に修飾しない限り、ディレクトリを除外しません。私のソリューションの各プロジェクトにこの完全なパターンを含めるだけでなく、追加された新しいプロジェクトに追加する必要があります。 助言がありますか?

6
コミットされたファイルに.gitignoreを適用する
無視したいファイルを大量にコミットしました。今後のコミットでこれらのファイルを無視するようにgitに指示するにはどうすればよいですか? 編集:私もそれらをリポジトリから削除したいと思います。これらは、ビルド後、またはユーザー固有のツールサポートのために作成されたファイルです。
436 git 



23
Git BashがWindows 7 x64で非常に遅い
私は小さなプロジェクトの開発中にWindowsとUbuntuの両方でGitを使用しており、2つの間を頻繁に行き来していました。問題は、Git Bashが常に遅くなることです。 遅いと言うと、実行にcdは8〜25秒かかり、gitコマンドの実行には5〜20秒かかり、場合lsによっては最大30秒かかることもあります。言うまでもなく、これは楽しいことではなく、非生産的です。WindowsではGitが遅いのはわかっていますが、これはばかげています。 私にとって一時的に機能した1つの解決策は、(この回答で提案されているように)ネットワーク接続を無効にし、Git Bashを起動してから再接続することです。それを実行した後も数日間は高速で動作し続けることがありますが、最終的には常にパフォーマンスが低下します。msysgitディスカッショングループ、スタックオーバーフロー、msysgitの問題リストなどを何週間もオンとオフで調べましたが、機能するソリューションを見つけることができませんでした。 これまでのところ、私は試しました: ウイルススキャナーの除外リストにGitおよびプロジェクトフォルダーを追加する ウイルススキャナーを完全に無効にする(Kaspersky IS 2011) Outlookが実行されていないことを確認する(Outlook 2007) 他のすべてのアプリケーションをシャットダウンする 管理者としてGit Bashを実行する ネットワーク接続の無効化、Git Bashの起動、および接続の無効化の維持 ネットワーク接続の無効化、Git Bashの起動、接続の再有効化(たまにしか機能しない) ランニング git gc 上記の組み合わせ 何人かの人々がBashの補完を無効にすることに成功したことを私は読んだが、理想的にはそれをアクティブに保ちたい。msysgitのバージョンは1.7.3.1-preview20101002で、OSはWindows 7 x64です。Linuxで同じことを実行することは、予想通り、非常に高速です。私はLinuxを排他的に使用しますが、Windowsでも実行する必要があります(特定のアプリケーション、テストなど)。 誰かが同様の問題に遭遇しましたか?もしそうなら、根本的な問題は何であり、解決策は(もしあれば)何でしたか? これはGitリポジトリだけにとどまりませんが、参考までに、私がGitを使用していたリポジトリはかなり小さく、最大で4〜50ファイルです。
434 git  bash  windows-7  msysgit  mingw32 


6
githubリポジトリを特定のコミットにロールバックするにはどうすればよいですか?
私のgithubには現在100個のコミットがあります。リポジトリをロールバックして80をコミットし、それ以降のリポジトリをすべて削除する必要があります。 どうして?このレポは、さまざまなユーザーからのマージ用です。過度の編集が原因で、私からのコミットとしてたくさんのマージが行われました。これは、3つの開発者が互いにラベル付けされていた、私のリモートブランチのラベル​​付けの誤りが原因でした。そのポイントにリセットしてから、前に進む必要があります。 この例のようにリベースしたいと思いました:GitHubでコミットを削除するにはどうすればよいですか? しかし、gitは私に多くの競合管理をしてほしいと思っています。より簡単な方法はありますか?
431 git  github 

4
異なるgitマージ戦略をいつ使用しますか?
git-mergeのmanページから、いくつかのマージ戦略を使用できます。 resolve -3ウェイマージアルゴリズムを使用して解決できるのは、2つのヘッド(つまり、現在のブランチとプルした別のブランチ)だけです。それは交差交差のあいまいさを注意深く検出することを試み、一般に安全かつ高速であると考えられています。 再帰的 -これは、3方向マージアルゴリズムを使用して2つのヘッドのみを解決できます。3ウェイマージに使用できる共通の祖先が複数ある場合は、共通の祖先のマージされたツリーを作成し、それを3ウェイマージの参照ツリーとして使用します。これにより、Linux 2.6カーネル開発履歴から取得された実際のマージコミットに対して行われたテストで、マージのミスを引き起こさずにマージの競合が減少すると報告されています。さらに、名前の変更を伴うマージを検出して処理できます。これは、1つのブランチをプルまたはマージするときのデフォルトのマージ戦略です。 タコ -これは2頭以上のケースを解決しますが、手動での解決が必要な複雑なマージを拒否します。これは主に、トピックのブランチヘッドをまとめるために使用することを目的としています。これは、複数のブランチをプルまたはマージするときのデフォルトのマージ戦略です。 私たち -これは任意の数のヘッドを解決しますが、マージの結果は常に現在のブランチヘッドになります。これは、サイドブランチの古い開発履歴に取って代わるために使用されることを意図しています。 サブツリー -これは修正された再帰戦略です。ツリーAとBをマージするとき、BがAのサブツリーに対応する場合、Bは、同じレベルでツリーを読み取るのではなく、最初にAのツリー構造に一致するように調整されます。この調整は、共通の祖先ツリーに対しても行われます。 デフォルトとは異なるものをいつ指定する必要がありますか?それぞれに最適なシナリオは何ですか?
430 git  merge  git-merge 



4
チェックインのために変更されたファイルを別のブランチに移動する
これはよく起こります。コードを書いて、自分の変更をチェックインしましたが、それらの変更をチェックインする適切なブランチにいないことに気づきました。ただし、変更を元に戻さない限り、別のブランチに切り替えることはできません。変更を別のブランチに移動してチェックインする方法はありますか?
422 git  github 

19
Gitブランチの最も近い親を見つける方法は?
次のようなローカルリポジトリに、次のようなコミットツリーがあるとします。 master --> a \ \ develop c --> d \ \ feature f --> g --> h master私です、これは最新の安定版のコードで、develop私がされ、これは「次へ」リリースコードで、そしてfeatureあるために準備されている新機能develop。 フックを使用してリモートリポジトリで実行できるfeatureことfは、コミットがdevelopHEADの直接の子孫でない限り、プッシュが拒否されるようにすることです。つまり、機能がgit rebaseオンになっているため、コミットツリーは次のようになりdます。 master --> a \ \ develop c --> d \ \ feature f --> g --> h だからそれは可能です: の親ブランチを特定しfeatureますか? f子孫である親ブランチのコミットを特定しますか? そこから、親ブランチのHEADが何であるかをチェックし、f先行が親ブランチのHEADと一致するかどうかを確認して、機能をリベースする必要があるかどうかを判断します。
419 git  branch 

22
同じコンピューター上の複数のgithubアカウント?
コンピューターから、実際の「作業」リポジトリとgitハブ上の個人用リポジトリの両方で作業しようとしています。 仕事用アカウントが最初に設定され、すべてが問題なく機能します。 しかし、私の個人用アカウントは、別のアカウント/メールで設定された個人用リポジトリにプッシュすることができないようです。 仕事用のキーを個人用アカウントにコピーしようとしましたが、もちろんキーは1つのアカウントにしかアタッチできないため、エラーが発生します。 両方のアカウント間で、それぞれのgithub認証情報からどのようにプッシュ/プルできますか?

13
GitHubリポジトリからコードの行数を取得できますか?
GitHubリポジトリでは、言語で記述されたプロジェクトの割合を表示する「言語統計」を確認できます。ただし、プロジェクトが構成するコードの行数は表示されません。多くの場合、プロジェクトの規模と複雑さの印象をすばやく取得したいと思います。コードの行数は、良い第一印象を与えることができます。500行のコードは比較的単純なプロジェクトを意味し、100,000行のコードは非常に大規模で複雑なプロジェクトを意味します。 それで、できればそれを複製せずに、GitHubリポジトリからさまざまな言語で書かれたコード行を取得することは可能ですか? 「Gitリポジトリの行数を数える」という質問は、ローカルGitリポジトリのコード行を数える方法を尋ねますが、 プロジェクトのクローンを作成する必要があります。たとえば、Wineのようなプロジェクトの複製には時間がかかります。 i13nファイルのように、必ずしもコードであるとは限らないファイルの行をカウントします。 (たとえば)Rubyファイルだけを数えると、JavaScriptなどの他の言語の大量のコードを見逃してしまう可能性があります。プロジェクトで使用する言語を事前に知っておく必要があります。また、プロジェクトが使用するすべての言語についてカウントを繰り返す必要があります。 全体として、これは「プロジェクトの規模を迅速にチェックする」には時間のかかりすぎる可能性があります。
417 git  github  line-count 

10
Gitブランチコマンドが「少ない」ように動作する
git branchコマンドを使用してすべてのブランチを一覧表示すると、の出力が表示されgit branch | lessます。 コマンドgit branchはls、ファイルの場合と同様に、ブランチのリストを表示することになっています。 これは私が得る出力です: のデフォルトの動作を取得するにはどうすればよいgit branchですか?ページ出力の原因は何ですか? 私はZSHをoh_my_zsh(Gitには何もありません)を使用しており、.gitconfig次のようになります。 [user] email = myemail@mail.com name = Dennis Haegler [push] default = simple [merge] tool = vimdiff [core] editor = nvim excludesfile = /Users/dennish/.gitignore_global [color] ui = true [alias] br = branch ci = commit -v cam = commit -am …

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