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

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

5
大きなGitリポジトリを多くの小さなリポジトリに分割する
SVNリポジトリをGitに正常に変換した後、非常に大きなGitリポジトリができたので、複数の小さなリポジトリに分割して履歴を維持したいと思います。 だから、誰かがこのように見えるかもしれないレポを分割するのを手伝うことができますか? MyHugeRepo/ .git/ DIR_A/ DIR_B/ DIR_1/ DIR_2/ 次のような2つのリポジトリに: MyABRepo/ .git DIR_A/ DIR_B/ My12Repo/ .git DIR_1/ DIR_2/ この前の質問の指示に従ってみましたが、複数のディレクトリを別のリポジトリに配置しようとすると、実際には適合しません(サブディレクトリを別のGitリポジトリにデタッチ(移動)します)。

6
gitのフックへのシンボリックリンク
独自のカスタムマージ後フックを作成しました。メインプロジェクトフォルダーに「hooks」ディレクトリを追加しました(gitは.git / hooksの変更を追跡しないため)。どこかで、フックからシンボリックリンクを作成できると読みました。 .git / hooksに変更するので、誰かがファイルを変更するたびに1つのフォルダーから別のフォルダーにファイルをコピーする必要がないので、次のことを試しました。 ln -s -f hooks/post-merge .git/hooks/post-merge しかし、それはうまくいかないようです、なぜ何か考えがありますか?「lnhooks / post-merge .git / hooks / post-merge」は正常に機能しますが、ハードリンクの作成はcopyinと同じだと思います。
86 linux  git  githooks 

2
ファイル全体ではなく1行をgit-checkoutすることは可能ですか?
バージョン管理されたファイルの数行を変更した場合、コマンドラインで行の変更を元に戻すことはできますか? ファイル全体に対して行うのと同じように、次のようにします。 git checkout /path/to/file.extension しかし、次のようなことをします git checkout /path/to/file.extension --line 10 これは可能ですか?
86 git  git-checkout 

1
「チェックアウトされていない」ブランチをプッシュする
最初にチェックアウトせずに(現在ではなく)ブランチをプッシュしたいのですが、どうすればそれを実現できますか? これは私がする方法です: #currently in master git checkout feature git push origin feature git checkout master しかし、機能をチェックアウトすると競合が発生する可能性があります。現在のブランチ以外のブランチをプッシュすることはできませんか?
86 git 

3
Travis CIの機能と、いつ使用する必要があるかを理解しようとしています
私はGitを初めて使用し、GitHubで小さなエラーを発見した後、GitHubでいくつかのオープンソースプロジェクトに貢献することを計画しています。それをフォークしてエラーを修正すると、プルリクエストを意図し、これが表示されることに気づきました。 失敗— TravisCIビルドが失敗しました 詳細をCould not find .travis.yml調べると、これが原因であることがわかりました。これは、Travis Clにサインインしていないため、リポジトリに.travis.ymlを追加していないため完全に理にかなっています。 トラビスとそれが継続的インテグレーションとして知られていることについて聞いたのはこれが初めてです。そして、それはかなりクールに聞こえるので、それについてもっと学ぶために、私はそれをウィキペディアで調べました。 Travis CIは、GitHubでホストされているプロジェクトの構築とテストに使用される、ホストされている分散型継続的インテグレーションサービスです。Travis CIは、コミットが行われ、Travis CIを使用しているGitHubリポジトリにプッシュされたことを自動的に検出します。これが発生するたびに、プロジェクトのビルドとテストの実行を試みます。これには、マスターブランチだけでなく、すべてのブランチへのコミットが含まれます。 Travis CIについての私の現在の理解は、それが行うことはプロジェクトを自動的に推進することであり、git commit -am ".."その一部を完全には理解していないということです。 することにより、プロジェクトと実行テストを構築し、どのようなテストは実行しようとしていますか?そして、プロジェクトをどのように「構築」するのでしょうか。(バイナリにコンパイルするような?) 「これにはすべてのブランチへのコミットが含まれます」と記載されていますが、すべてのブランチにコミットしたくない場合はどうなりますか? Travis Clをまったく使用しなくても大丈夫ですか?どのような状況でそれを使用するのが最善ですか(または使用する必要があります)?

8
Gitを使用して、1つの特定のブランチに*のみ*存在し、他のブランチには存在しないすべてのコミットを表示します
ブランチがある場合、そのブランチにのみ存在するコミットのリストを表示したいと思います。でこの質問、私たちは1本の枝上にあるではなく、1つ以上の他のブランチを指定したコミットを確認する方法について説明します。 これは少し異なります。どのコミットが1つのブランチにあり、他のブランチにはないかを確認したいと思います。 ユースケースは、一部のブランチをマージするだけで、直接コミットしないブランチ戦略です。これは、「マージのみ」のブランチで直接コミットが行われたかどうかを確認するために使用されます。 編集:以下は、テストするダミーのgitリポジトリを設定する手順です。 git init echo foo1 >> foo.txt git add foo.txt git commit -am "initial valid commit" git checkout -b merge-only echo bar >> bar.txt git add bar.txt git commit -am "bad commit directly on merge-only" git checkout master echo foo2 >> foo.txt git commit -am "2nd valid …
86 git 


7
Perforceユーザー向けのGit
私はPERFORCEを何年も使用しています。個人コードにgitを使用するように切り替えたいのですが、私が見たすべてのgitチュートリアルは、あなたが完全なソース管理n00b(非常に面倒なものになります)であるか、慣れていることを前提としています。 svn(私はそうではありません)。 私はp4を知っており、分散ソース管理システムの背後にある考え方も理解しています(したがって、売り込みは必要ありません、ありがとう)。私が欲しいのは、p4コマンドから同等のgitコマンドへの変換テーブルと、同等のp4がない「なしでは生きられない」コマンドです。 すべてのp4ユーザーがp4の異なるサブセットを使用していると思われるので、これは私がgitで実行できるようにしたい、p4で定期的に実行するいくつかのことですが、これまで見てきたドキュメントからはすぐにはわかりません。 : 1つのクライアントで複数の保留中の変更リストを作成します。(p4 change) 保留中の変更リストを編集します。(またp4 change) 保留中のすべてのチェンジリストのリストを参照してください(p4 changes -s pending) クライアント(p4 opened)または保留中の変更リスト(p4 describe)内のすべての変更されたファイルのリスト 保留中の変更リストの差分を参照してください(これにはp4 diff、とを使用するラッパースクリプトを使用しますp4 describe) 特定のファイルについて、送信された変更リストがどの行に影響したかを確認します(p4 annotate) 特定のファイルについては、ファイルに影響を与えたチェンジリストの説明のリストを参照してください(p4 log) 保留中の変更リストを送信する(p4 submit -c) 保留中のチェンジリストを中止する(p4 revert) これらの多くは「チェンジリスト」を中心に展開しています。「チェンジリスト」はp4の用語です。gitの同等の用語は何ですか? ブランチは、p4がチェンジリストと呼ぶものの代わりにgitユーザーが使用するもののようです。p4にもブランチと呼ばれるものがあるため、少し混乱しますが、それらは漠然と関連した概念にすぎないようです。(私はいつもp4のブランチの概念はかなり奇妙だと思っていましたが、それはまたもや古典的なRCSのブランチの概念とは異なります。) とにかく... gitのブランチを使用してp4チェンジリストで通常行うことをどのように達成するかがわかりません。p4では、次のようなことができます。 $ p4 edit a.txt $ p4 change a.txt Change 12345 created. この時点で、a.txtを含むチェンジリストがあります。説明を編集して、変更リストを送信せずに作業を続行できます。また、コードの他のレイヤーのバグ修正など、他のファイルに変更を加える必要があることが判明した場合は、同じクライアントでそれを行うことができます。 $ p4 edit z.txt $ p4 …
86 git  perforce 

4
gitstatusにステージングされたファイルのみを表示させる方法
ステージングされたファイル名のみのリストを取得したいと思います。私はのための同等のフラグを見つけることができません--name-onlyためのgit statusコマンド。良い選択肢は何ですか? ファイルリストはphp -l(PHP lint構文チェッカー)にパイプされます。 解決策:完全なコマンド git diff --name-only --cached | xargs -l php -l
86 git  git-status 

5
Gitlabを使用してコードレビューを設定するにはどうすればよいですか?
Gitlabを使用してコードレビューを設定するにはどうすればよいですか?Gitlab Webサイトに機能としてリストされているようですが、セットアップ方法の説明が見つからないようです(さらに言えば、Gitlabユーザーマニュアルへのリンクをいただければ幸いです)。 私の検索のいくつかは、「リクエストのマージ」が進むべき道であることを示しています...しかし、私はそれらが制限されていることに気づいています。発行されたマージ要求には、1つのブランチと他のブランチの間のすべてのコミットが表示されます。個々のコミットごとに生成された差分しか表示できないようです。たとえば、確認したいファイルがあるとします。これは新しいファイルですが、devブランチで10回以上のコミットで変更を送信しました。統合からその開発ブランチのマージリクエストを発行すると、それぞれがファイルに加えられた増分変更を示す10個のコミットが表示されます...全体を確認したいと思います。それは新しい! ここで間違った木を吠えていますか?GitLabで使用できる実際のコードレビューツールはありますか、それともマージリクエストが進むべき道ですか?それらが間違っている場合は使用していますか?ここで適切なコードレビューを設定するための最良の方法は何ですか?

7
JenkinsビルドでGitサブモジュールが更新されない
Jenkinsのプロジェクトにサブモジュールがあります。サブモジュールを再帰的に更新するために、詳細設定を有効にしました。 ビルドを実行すると、ワークスペースにサブモジュールのファイルが含まれていることがわかります。問題は、それがサブモジュールの最初のリビジョンのようだということです。変更をプッシュすると(GitHubでホストされているリポジトリ)、Jenkinsは正しい変更を取得するためにサブモジュールを更新していないようです。誰かがこれを見たことがありますか?

5
git diff-行末の変更を表示しますか?
私のエディタは私のソースファイルの行末を変更しています。するとgit diff、同じ行が2回表示されます(1回は-と、もう1回は+と)。目に見える違いはありません。 git diffこの変更が実際に何であったかをどのように表示できますか?

3
ローカルコミットのグループをIDEAのシングルプッシュに組み合わせる方法は?
IDEAでは、いくつかのコミットをプッシュしようとしています。 リモートサーバーでは、シングルアクションのように見えるという要件があります。 クリックしてプッシュすると、次のウィンドウが表示されます ここにスカッシュチェックボックスが表示されると思っていましたが、表示されません。 私を助けてください。

5
Gitでディレクトリを追跡するがファイルは追跡しない方法は?
最近Gitを使い始めましたが、1つだけ問題が発生しています。内容を追跡せずにディレクトリを追跡するにはどうすればよいですか? たとえば、私が取り組んでいるサイトではアップロードが許可されています。アップロードディレクトリを追跡して、ブランチなどで作成されるようにしたいのですが、明らかにその中のファイル(開発ブランチでのテストファイルまたはマスターでの実際のファイル)ではありません。 私の.gitignoreには、次のものがあります。 アップロード/*.* また試しました(ディレクトリ全体を無視します): アップロード/ このディレクトリにはサブディレクトリ(uploads / thumbs / uploads / videos /)も含まれている場合があります。これらのファイルは追跡できますが、追跡はできません。 これはGitで可能ですか?私は答えを見つけることなくどこでも検索しました。

5
.gitフォルダーをクリーンアップするにはどうすればよいですか?プロジェクトディレクトリをクリーンアップしましたが、.gitはまだ大規模です
誤って生成された数百メガバイトのガベージを削除した後でも、railsプロジェクトディレクトリの.git / objectsはまだ大量です。 git add -Aインデックスを更新し、存在しないファイルを削除するために、他のコマンドと同様に試しました。ディレクトリ内の2つの文字名を持つファイルがblobであると、おそらく間違って収集します。以前のコミットにロールバックしようとしましたが、うまくいきませんでした。 このディレクトリをクリーンアップするにはどうすればよいですか?
86 git 

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