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

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


4
git logに続行を促さないようにするにはどうすればよいですか?
一緒に属するいくつかのgitリポジトリと、それらをループする単純なバッチ/ bashファイルがあります。私はよくlogコマンドでそれらをループして、それらがどのような状態にあるかをすばやく確認します。これは、1つのことを除いて、うまく機能します。コミットメッセージがコンソールの文字数よりも長い場合(または複数行ある場合)、gitはその行を示し、次に(END)を含む改行があり、続行するにはqを押す必要があります(出力をより多くのまたはそのようなものにパイプすると思います)。例: > gitloop . "git log --decorate=short --pretty=oneline -n1" 18629ae238e9d5832cb3535ec88274173337a501 (HEAD, origin/master, master) short log 625fb891b9b0b8648459b07ace662ae3b7773c7f (HEAD, origin/master, origin/HEAD, master) short log dc0838118266ba8570ea338c1faddfe8af0387bb (HEAD, origin/work, origin/master, work, master) oops loooooooooooooong log -(END) これは、qを数回押す必要があるため、かなり不便ですが、これらすべてのワンライナーを一度に表示したいだけです。 この動作を無効にするにはどうすればよいですか(できれば、このログ形式を維持したまま)?
92 git 


4
エラーなしでgitcommitを実行する方法は?
git commit;を実行するファブリックスクリプトを作成しようとしています。ただし、コミットするものがない場合、gitはステータスが1。で終了します。デプロイスクリプトはそれを失敗と見なし、終了します。実際のコミットの失敗を検出したいので、git commit失敗をファブリックに完全に無視させることはできません。空のコミットの失敗を無視してデプロイを続行できるようにするにはどうすればよいですか?それでも実際のコミットが失敗したときに発生したエラーをキャッチできますか? def commit(): local("git add -p && git commit")
92 python  git  fabric 

1
gitstashとgitpull
私はGitを初めて使用し、EGiteclipseプラグインを使用してコミットしています。 いくつかのファイルを変更し、変更を隠してからgit pull、コマンドラインで実行して最新のコミットをすべてプルアップしました。それから私はApply stashed changesEGitからやりました。今、それは私の変更を適用し、隠されたファイルの最後のコミットからプルされた変更は消えました。マージの競合について尋ねられず、変更を上書きし、以前のコミットの変更を失った理由がわかりません。 それらの変更を取得する方法は?
92 git  egit  git-stash 

3
すべての子を含むブランチのリベース
次のGitリポジトリトポロジがあります。 A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) リベースによってfeature枝を私は(子供の支店を含む)サブツリー全体をリベースすると予想さ: $ git rebase feature master A-B-F (master) \ D (feature-a) \ / C (feature) \ E (feature-b) ただし、これは実際の結果です。 C' (feature) / A-B-F (master) \ D (feature-a) \ / C \ E (feature-b) 次のコマンドを実行すると、簡単に手動で修正できます。 $ git rebase …

4
git bareリポジトリの最後のコミットをコミット解除するにはどうすればよいですか?
ベアリポジトリでは意味をなさないgitコマンドがいくつかあることを考慮すると(ベアリポジトリはインデックスを使用せず、作業ディレクトリがないため)、 git reset --hard HEAD^ このようなリポジトリの最後の変更をコミット解除するソリューションではありません。 インターネットで検索すると、トピックに関連して私が見つけることができるのはthisだけで、これを行う3つの方法が提示されます 。 2.「git push -fベアリポジトリ以外から」; 3. " git branch -f this $that"。 どのソリューションがより適切であると思いますか、またはこれを行うには他にどのような方法がありますか?残念ながら、git bareリポジトリについて見つけたドキュメントはかなり貧弱です。

2
名前変更の検出のために、gitはどのようにして同様のファイルを検出しますか?
ウィキペディアでは、自動名前変更検出について説明しています。 簡単に言うと、リビジョンNのファイルを考えると、リビジョンN-1の同じ名前のファイルがデフォルトの祖先です。ただし、リビジョンN-1に同様の名前のファイルがない場合、GitはリビジョンN-1にのみ存在し、新しいファイルに非常に類似しているファイルを検索します。 名前の変更の検出は、明らかに類似したファイルの検出に要約されます。そのアルゴリズムはどこかに文書化されていますか?どの種類の変換が自動的に検出されるかを知っておくと便利です。
91 git 


12
変更された行と変更された各行の変更されたバイトを強調表示する
オープンソースプロジェクトTracには、優れたdiff蛍光ペンがあります。変更された行と、変更された各行の変更されたバイトが強調表示されます。例については、ここまたはここを参照してください。 bashターミナルで、または差分出力(パッチファイル)に同じ色の強調表示(つまり、変更された行と変更されたバイトも)を使用する方法はありますか?gitvim
91 git  vim  diff  highlight  word-diff 

8
特定のコミットのプッシュ日付を取得する方法はgitにありますか?
各コミットに関連付けられたプッシュ日付をgitログで表示する方法があるかどうか疑問に思っています。それが不可能な場合、特定のプッシュですべてのコミットを確認する方法はありますか? プッシュされたコミットを追跡する必要があるプログラムを書いています。gitログはプッシュ日付ではなくコミット日付順になっているため、プッシュされた最新のコミットを確認できません。たとえば、ユーザーがマスターにプッシュする2日前にローカルリポジトリにコミットした場合、そのコミットはマスターリポジトリログの他のコミットの2日間遅れて配置されます。
91 git  github  git-push 

7
Git-メソッド/関数の変更履歴を表示するにはどうすればよいですか?
そのため、ファイルの変更履歴を表示する方法に関する質問を見つけましたが、この特定のファイルの変更履歴は非常に大きく、特定のメソッドの変更にのみ関心があります。それで、その特定の方法だけの変更履歴を見ることが可能でしょうか? コードを分析するにはgitが必要であり、分析は言語によって異なることはわかっていますが、メソッド/関数の宣言はほとんどの言語で非常によく似ているため、誰かがこの機能を実装していると思います。 私が現在使用している言語はObjective-Cで、現在使用しているSCMはgitですが、この機能がSCM /言語に存在するかどうかを知りたいと思います。

6
Git-特定のブランチの最初のコミットを見つける方法
次の例のツリーでは: A-B-C-D-E (master branch) \ F-G-H (xxx branch) 私はFを探しています-xxxブランチの最初のコミット。私はそれが可能だと思います: git log xxx --not master そして最後にリストされたコミットはFであるはずです。それは正しい解決策ですか、それともいくつかの欠点がありますか? stackoverflowについても同様の質問があったことは知っていますが、そのような解決策を提案した人はいません。
91 git 

4
Gitとハードリンク
Gitがリポジトリの外部を指すシンボリックリンクを認識しないことを考えると、ハードリンクの使用に問題はありますか? Gitはそれらを壊すことができますか?詳細な情報を教えてもらえますか?

3
特定のGitHubブランチでコードを検索する
GitHubリポジトリのブランチでコードを検索しようとしています。 ただし、これはデフォルトのブランチしか検索できないことを示しています。 GitHubリポジトリのデフォルト以外のブランチでコードを検索する方法はありますか?
91 git  github 

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