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

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

8
msysgitの右クリックメニューオプションを削除するにはどうすればよいですか?
これは最高のプログラミングの質問ではありませんが、正直なところ、サーバー障害の担当者はgitに精通していないため、このオーディエンスに向けたほうがいいと思います。 シェルでTortoiseGitまたはPortableGitに切り替えたいのですが、これらの迷惑なコンテキストメニューオプションが残っています。 どうすれば彼らを去らせることができますか?それらをアンインストールするためのスクリプトを作成する必要がありますか?
346 git  tortoisegit  msysgit 

9
軽量タグと注釈付きタグを気にする必要があるのはなぜですか?
私は去年の毎日のVCSとしてSubversionからGitに切り替えましたが、それでも「Git-think」の細かい点を把握しようとしています。 最近私を悩ませているのは、「軽量」タグ、注釈付きタグ、署名付きタグです。注釈付きタグは実際のすべての用途で軽量タグよりも優れていることはかなり一般的に受け入れられているようですが、なぜそうなるのかについて私が見つけた説明は、常に「ベストプラクティスのため」または「それらが異なるため」に煮詰められているようです。。残念ながら、これらはなぜベストプラクティスなのか、またはそれらの違いが私のGitの使用にどのように関連するのかを知らずに、非常に満足のいく議論ではありません。 私が最初にGitに切り替えたとき、軽量タグはスライスされたパン以来の最高のもののようでした。コミットを指して「それは1.0だった」と言うだけです。タグがこれ以上必要になる可能性があることを理解するのに苦労していますが、世界中のGitエキスパートが注釈付きタグを恣意的に好むとは信じられません!それで、すべての騒ぎは何ですか? (ボーナスポイント:なぜタグに署名する必要があるのですか?) 編集 注釈付きタグは良いことだと私は確信しています。誰がいつタグ付けしたかを知ることが重要です!フォローアップとして、適切なタグ注釈に関するアドバイスはありますか?両方git tag -am "tagging 1.0" 1.0と、前のタグ以降のコミットログを要約しようとすると、戦略を失うような気がします。
346 git  git-tag 

18
WindowsのGit:どのようにしてmergetoolを設定しますか?
CygwinでmsysGitとGitを試しました。どちらも問題なく動作し、両方ともgitkとgit-guiを完全に実行します。 では、mergetoolをどのように構成すればよいのでしょうか。(VimdiffはCygwinで動作しますが、できればWindowsを愛する一部の同僚にとって、もう少しユーザーフレンドリーなものが欲しいです。)
346 windows  git  cygwin  msysgit 

8
空白以外の変更のみを追加する
ファイルの保存時に末尾の空白を自動的に削除するテキストエディターを使用していて、末尾の空白に重大な問題があるオープンソースプロジェクトに貢献しています。 パッチを送信しようとするたびに、まず空白のみの変更をすべて手動で無視して、関連情報のみを選択する必要があります。それだけでなく、私が実行するgit rebaseと、通常、そのためにいくつかの問題に遭遇します。 そのため、同様の方法で、空白以外の変更のみをインデックスに追加できるようにしたいのですgit add -pが、すべての変更を自分で選択する必要はありません。 誰でもこれを行う方法を知っていますか? 編集:プロジェクトの動作を変更することはできません。メーリングリストで議論した結果、これを無視することに決定しました。
343 git  whitespace 

15
次の追跡されていない作業ツリーファイルはマージによって上書きされますが、私は気にしません
私のブランチでは、.gitignoreにいくつかのファイルがありました 別のブランチでは、これらのファイルは違います。 私は別のブランチを私のものにマージしたいのですが、それらのファイルが無視されなくなったかどうかは気にしません。 残念ながら私はこれを手に入れました: 次の追跡されていない作業ツリーファイルは、マージによって上書きされます これらのファイルを自分で見つけたり、移動したり、削除したりせずに、プルコマンドを変更してこれらのファイルを上書きするにはどうすればよいですか?

30
git rebase:「エラー: 'ファイル'を統計できません:権限が拒否されました」
私はgitを使用していて、小さなコミットを作成してから大きなコミットを作成しました。を使用git rebaseして、2つのコミットをプッシュする前に一緒に押しつぶすことにしました。(私はこれを以前にやったことがありません。) だから私はしました: git rebase -i HEAD~2 これにより、編集者に、以前のコミットを選択し、後のコミットをスカッシュすることを選択しました。私が保存したとき、gitは言った: エラー: ' filename 'を統計できません:権限が拒否されました 後でコミットするためにsha1を適用できませんでした... そのコミットの最初のテキスト行 今: どちらのコミットも表示されませんgit log。 git status 「現在、どのブランチにもいません」と私に伝えます。 1つのファイルは変更済みとしてインデックスにリストされ、2つのファイルは追跡されていないものとしてリストされます。私の最初のコミットには1つのファイルしかなかったと思いますが(2つ目)、2番目のコミットには十分な数のファイルがありました。 どうした!?どうすれば修正できますか?
342 git  git-rebase 

14
Git拡張:Win32エラー487:cygwinのヒープ用のスペースを予約できませんでした、Win32エラー0
Git拡張機能:すべてが昨日まで正常に機能していました。 しかし、いくつかのリポジトリを使用してプルしようとすると、突然このエラーが発生します git extensions C:\Program Files\Git\bin\git.exe pull --progress "origin" Done 0 [main] us 0 init_cheap: VirtualAlloc pointer is null, Win32 error 487 AllocationBase 0x0, BaseAddress 0x68560000, RegionSize 0x390000, State 0x10000 C:\Program Files\Git\bin\sh.exe: *** Couldn't reserve space for cygwin's heap, Win32 error 0 それは私がクローンしたすべてのリポジトリーで起こっています。しかし、私のgit bashは正常に動作しています。私は何が起こっているのか全くわかりません。なぜこれが起こっているのかについて何か考えはありますか?

14
特定のドメインのgit pushのSSHキーを指定します
次の使用例があります。「自分の」秘密鍵の使用にプッシュしたいのに、git@git.company.com:gitolite-adminuserの秘密鍵の使用gitolite-adminにプッシュしたいのですがgit@git.company.com:some_repo。私の知る限り~/.ssh/config、ユーザー名とサーバー名はどちらも同じであるため、を使用してこれを解決することはできません。私は主に自分の秘密鍵を使用しているので、それを~/.ssh/configfor で定義していgit@git.company.comます。単一のgit呼び出しに使用されるキーをオーバーライドする方法を誰かが知っていますか? (脇に:gitoliteは、キーに基づいてプッシュを実行しているユーザーを区別するため、アクセス、所有権、および監査の点で、user @ server文字列がユーザーごとに同一であっても問題ありません。)
342 git  ssh  gitolite 

10
gitのブランチ間のコミットの違いを確認するにはどうすればよいですか?
私はブランチXを使用しており、その上にさらにいくつかのコミットを追加しています。コミットに関して、MASTERとブランチの違いをすべて確認したい。私はただすることができました git checkout master git log そして次に git checkout branch-X git log これらを視覚的に比較しますが、簡単でエラーが発生しにくい方法を期待しています。
341 git  logging  branch  git-log 

2
コードレビュー後にプルリクエストを更新するための優先Githubワークフロー
Githubのオープンソースプロジェクトに変更を送信し、コアチームメンバーの1人からコードレビューコメントを受け取りました。 レビューコメントを考慮してコードを更新し、再送信したいと思います。これを行うための最良のワークフローは何ですか?git / githubに関する私の限られた知識から、私は次のいずれかを行うことができました。 コードを新しいコミットとして更新し、プルリクエストに初期コミットと更新されたコミットの両方を追加します。 どういうわけか(??)リポジトリから古いコミットをロールバックし、すべてを含む単一の新しいコミットを作成してから、そのプルリクエストを発生させますか? git commit修正機能がありますが、ローカルリポジトリの外にコミットをプッシュした後は使用しないでください。この場合、私はローカルPCで変更を行い、プロジェクトのgithubブランチにプッシュしました。これは「修正」を使用しても問題ありませんか? 他に何か? オープンソースプロジェクトはすべての履歴を実装するコミットが1つしかないため、オプション2/3がいいようですが、これを行う方法がわかりません。 注:これが回答に影響するかどうかはわかりませんが、別のブランチで変更を加えなかったので、マスターの上でコミットを行いました

3
マージ後のブランチをどうするか
私には2つのブランチがありました:masterとbranch1。私はマージしbranch1直してmaster、そのブランチは終わりです。削除するか、そのままにしておくべきですか?削除するとデータが失われますか?
341 git  merge  branch 


9
Git:「追跡されていない」ファイルのみを一覧表示する(カスタムコマンドも)
git ls-files追跡されていないファイルのみを表示するようなコマンドを使用する方法はありますか? 私が質問している理由は、次のコマンドを使用してすべての削除済みファイルを処理するためです。 git ls-files -d | xargs git rm 追跡されていないファイルについても同様のものを希望します。 git some-command --some-options | xargs git add の-oオプションを見つけることができましたが、git ls-files無視されたファイルも表示されるため、これは私が望んでいることではありません。また、次の長くて醜いコマンドを思いつくことができました。 git status --porcelain | grep '^??' | cut -c4- | xargs git add ここで使用できるより良いコマンドがあるようです。ない場合は、どうすればカスタムgitコマンドを作成できますか?

1
複雑なGitブランチ名がすべてのGitコマンドを壊しました
master次のコマンドでブランチを作成しようとしましたが、 git branch SSLOC-201_Implement___str__()_of_ProductSearchQuery Gitが突然応答を停止したとき。()どういうわけか、私はエスケープされていないことが非難されているのではないかと思います。ここで、Gitコマンドを実行しようとすると、常に同じエラーが発生します。 git:176: command not found: _of_ProductSearchQuery gitコマンドを入力するたびに数字が増えていきます。 誰が何が起こったのか説明できますか?そして、どうすれば通常に戻すことができますか?そのブランチを削除したいのですが、どうすればいいですか?

11
Gitフックスクリプトをリポジトリと共に管理できますか?
コミットメッセージの事前フォーマットなど、すべてを共有できるいくつかの基本的なフックスクリプトを作成します。Gitには、通常の下に保存されるフックスクリプトがあります<project>/.git/hooks/。ただし、これらのスクリプトは、ユーザーがクローンを作成しても伝播されず、バージョン管理されていません。 皆が正しいフックスクリプトを手に入れるのを助ける良い方法はありますか?これらのフックスクリプトにリポジトリ内のバージョン管理されたスクリプトをポイントさせるだけでよいですか?
337 git  githooks 

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