タグ付けされた質問 「version-control」

バージョン管理とは、ドキュメント、プログラム、およびコンピューターファイルとして保存されているその他の情報に対する変更の管理です。このタグを使用して、バージョン管理の使用法と適用性、VCS比較に関する一般的な質問にマークを付けます。それぞれの特定のVCSに固有のほとんどのコマンドと手法には、特定のタグがあり、推奨されます。

5
hg forgetとhg removeの違いは何ですか?
Mercurialがリポジトリの現在の状態からいくつかのファイルを削除するようにしたい。ただし、ファイルを以前の履歴に残しておく必要があります。 どのようforgetにremove違いますか、そして私がやりたいことはできますか?

1
すべてのブランチの作成者あたりのGitコミット数
すべてのブランチで作成者ごとのコミット数を取得したいと思います。私はそれを見る git shortlog -s -n 非常に優れたリストを出力しますが、他のブランチからまだマージされていないコミットはカウントされません。すべてのブランチでこのコマンドを繰り返すと、一般的なコミットが複数回カウントされることは明らかです。全体像を示すスクリプト/コマンドを教えていただけますか?

8
いつGitでブランチを削除するのですか?
安定したアプリケーションがあるとします。 明日、誰かが大きなOLのバグを報告して、すぐにホットフィックスすることにしました。そこで、「マスター」からそのホットフィックスのブランチを作成し、「2011_Hotfix」という名前を付け、それをプッシュアップして、すべての開発者が協力して修正できるようにします。 バグを修正し、「2011_Hotfix」を「master」と現在の開発ブランチにマージします。そして「マスター」を押します。 「2011_Hotfix」で何をしますか?それはその目的を果たしたので、時間の終わりまで永遠にブランチとしてそこに存在するべきなのでしょうか、それとも削除すべきなのでしょうか?ブランチのリストが非常に長くなる可能性が高く、ブランチのリストが非常に長くなるため、ブランチをどこにでも置いておくのは不潔に思えます。 削除する必要がある場合、その履歴はどうなりますか?実際のブランチが利用できなくなっても、それは維持されますか?また、リモートブランチを削除するにはどうすればよいですか?

6
Linus Torvaldsは、Gitがファイルを「決して」追跡しないと言ったとき、どういう意味ですか?
2007年のGoogleでのTech Talk中にGitが処理できるファイルの数を尋ねられたときのLinus Torvaldsの引用(43:09): …Gitはコンテンツを追跡します。単一のファイルを追跡することはありません。Gitではファイルを追跡できません。あなたができることは、単一のファイルを持つプロジェクトを追跡できますが、プロジェクトに単一のファイルがある場合は、それを実行してそれを実行できますが、10,000個のファイルを追跡する場合、Gitがそれらを個別のファイルとして表示することはありません。Gitはすべてを完全なコンテンツと見なします。Gitのすべての履歴は、プロジェクト全体の履歴に基づいています… (転写はここにあります。) あなたはに飛び込むときしかし、Gitの本、あなたが言われて最初にすることはGitリポジトリ内のファイルのいずれかすることができるということである追跡や人跡未踏。さらに、Gitのエクスペリエンス全体がファイルのバージョン管理に向けられているように思えます。使用時git diffまたはgit status出力時は、ファイルごとに表示されます。使用git addする場合は、ファイルごとに選択することもできます。ファイルごとに履歴を確認することもでき、非常に高速です。 このステートメントはどのように解釈されるべきですか?ファイル追跡に関して、GitはCVSなどの他のソース管理システムとどのように異なりますか?


9
Gitで最後のコミットを2つに分割する方法
私は2本の作業の枝、持っているマスターとフォーラムを、私はちょうどでいくつかの変更作ったフォーラムの私はにチェリーピックしたいという、ブランチをマスター。しかし、残念ながら、私がチェリーピックしたいコミットには、私が望まないいくつかの変更も含まれています。 解決策はおそらく、間違ったコミットを削除して、2つの別々のコミットに置き換えることです。 やってみました git reset --hard HEAD^ これですべての変更が削除されたので、戻る必要がありました git reset ORIG_HEAD だから私の質問は、最後のコミットを2つの別々のコミットに分割する最良の方法は何ですか?


24
どうすればデータベースをgit(バージョン管理)できますか?
私はWebアプリを実行していて、いくつかの大きな変更のためにブランチを作成する必要があります。実際、これらの変更にはデータベーススキーマの変更が必要なので、データベース全体もgitの下に置きたいです。 それ、どうやったら出来るの?gitリポジトリの下に保持できる特定のフォルダはありますか?どのようにしてそれを知るのですか?正しいフォルダを配置していることをどのように確認できますか? これらの変更には下位互換性がないため、確認する必要があります。失敗するわけにはいかない。 私の場合のデータベースはPostgreSQLです 編集: 誰かがバックアップを取り、データベースではなくバージョン管理下にバックアップファイルを置くことを提案しました。正直なところ、それを飲み込むのは本当に難しいと思います。 もっと良い方法があるはずです。 更新: OK、それで良い方法はありませんが、まだ確信が持てないので、質問を少し変更します。 データベース全体をバージョン管理下に置きたいのですが、実際のデータベースをダンプではなくバージョン管理下に置くために、どのデータベースエンジンを使用できますか? sqliteはgit対応ですか? これは開発環境だけなので、好きなデータベースを選択できます。 Edit2: 私が本当に望んでいるのは、私の開発履歴を追跡するのではなく、「新しい根本的な変更」ブランチから「現在の安定ブランチ」に切り替えて、たとえば現在のバグ/問題などを修正できるようにすることです安定したブランチ。ブランチを切り替えると、データベースが自動的に現在のブランチと互換性を持つようになります。実際のデータはあまり気にしません。

13
最高の3者間マージツールは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。私たちは回答が事実、参考文献、または専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 Subversion、Git、Mercurialなどは、3者間マージ(mine、theirs、および「base」リビジョンの組み合わせ)をサポートし、競合を解決するためのグラフィカルツールをサポートしています。 どのツールを使用していますか?Windows、Mac OS X、Linux、無料、商用を問わず、あなたはそれに名前を付けます。 会話を始めるために、私が使用または聞いたことのあるものをいくつか示します。 KDiff3 DiffMerge P4Merge 溶ける 比較プロを超えて。 (これはBest Diff Toolのようなものだと認識していますが、3者間マージツールに明示的に焦点を合わせている点が異なります。たとえば、WinMergeはリストに含まれていません。)

11
git mvとディレクトリの大文字と小文字のみを変更
同様の質問を見つけましたが、問題の答えが見つかりませんでした git mv FOO foo私が 経由してFOOからfooにディレクトリの名前を変更しようとすると fatal: renaming 'FOO' failed: Invalid argument OK。だから私はgit mv FOO foo2 && git mv foo2 foo しかし、私がコミットしようとするgit commit .と、 # On branch master # Untracked files: # (use "git add <file>..." to include in what will be committed) # # foo nothing added to commit …


9
HEADコミットIDを表示するGitコマンド?
HEADのコミットIDを出力するには、どのコマンドを使用できますか? これは私が手でやっていることです: $ cat .git/HEAD ref: refs/heads/v3.3 $ cat .git/refs/heads/v3.3 6050732e725c68b83c35c873ff8808dff1c406e1 しかし、テキストファイルにHEADのコミットID(多かれ少なかれ、単なる参照ではない)が正確に含まれるように、コマンドの出力をテキストファイルに確実にパイプ処理できるスクリプトが必要です。誰か助けてもらえますか?

7
Mercurial —古いバージョンに戻し、そこから続行します
プロジェクトでMercurialをローカルで使用しています(他の場所へのプッシュ/プルが行われない唯一のリポジトリです)。 今日まで、それは線形の歴史を持っています。しかし、私が現在取り組んでいることは、ひどいアプローチであり、開始する前のバージョンに戻って、別の方法で実装したいと考えています。 Mercurialのbranch/ revert/ update -Cコマンドと少し混乱しています。基本的に私はバージョン38(現在は45)に戻し、次のコミットに38を親として持ち、そこから継続したいと考えています。リビジョン39-45が永久に失われるか、それとも最終的に自分自身の行き止まりのブランチになるかは気にしません。 どのコマンド/コマンドセットが必要ですか?

19
リビジョン番号に相当するGitは何ですか?
職場ではSVNを使用していますが、個人的なプロジェクトではGitを使用することにしました。だから私は昨日Gitをインストールしましたが、Gitで相当するリビジョン番号は何だろうと思います。 たとえば、バージョン3.0.8で作業していて、すべてのバグ修正に独自のリビジョン番号があり、このバグ修正について話すときに使用できるとします。では、Gitのコードに3.0.8のタグを付けると、リビジョン番号やその他のより詳細な種類のIDとして何を使用できますか?ハッシュは人間にとって使いやすいものではありません。

8
バージョン管理下にあるEclipseファイルはどれですか?
ソースを除いて、どのEclipseファイルがソース管理下に置くのが適切ですか? 私のプロジェクトでは、具体的には、次のことについて疑問に思っています。 .metadata / * project-dir / .project project-dir / .classpath project-dir / .settings / * 依存しているものがある場合は、ガイドラインを説明してください。

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