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

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

14
TFSバインディングを完全に削除する方法
大量のプロジェクトを含むソリューションがあります。 ソース管理バインディングを完全に削除したいのですが、どうすればいいですか? 更新: 私が本当にやりたいことは、1つのソリューションとそのプロジェクトをTFS 2005-> 2008から移動することです。そのため、バインディングを削除しているのですが、これを行うより良い方法はありますか?

22
初心者のためのMercurial:決定的な実用ガイド
ロックされています。この質問とトピックへの回答はロックされています。質問はトピックから外れていますが、歴史的に重要です。現在、新しい回答や相互作用を受け入れていません。 初心者のためのGitに触発された:決定的な実用ガイド。 これは、Mercurialを初心者が実用的に使用するための情報をまとめたものです。 初心者-よく理解せずにソース管理に触れたプログラマー。 実用的-大多数のユーザーが頻繁に遭遇する状況をカバー-リポジトリの作成、ブランチ、マージ、リモートリポジトリからのプル/プッシュなど 注: 何かを実装する方法ではなく、何かを成し遂げる方法を説明します。 回答ごとに1つの質問を扱います。 可能な限り明確かつ簡潔に回答してください。 同じトピックで新しい回答を作成するのではなく、既存の回答を編集/拡張します。 詳細については、Mercurial wikiまたはHG Bookへのリンクを提供してください。 質問: インストール/セットアップ Mercurialをインストールするには? Mercurialのセットアップ方法は? 新しいプロジェクト/リポジトリをどのように作成しますか? ファイルを無視するように設定するにはどうすればよいですか? コードを操作する どのようにして最新のコードを入手しますか? コードをどのようにチェックアウトしますか? 変更をどのようにコミットしますか? コミットされていないもの、または現在のコードベースのステータスをどのように確認しますか? リポジトリからファイルをどのように削除しますか? どのようにして不要なコミットを破棄しますか? ファイルの2つのリビジョン、または現在のファイルと以前のリビジョンをどのように比較しますか? ファイルまたはリポジトリの変更履歴をどのように確認しますか? バイナリファイル(たとえば、Visioドキュメント、またはコンパイラ環境)をどのように処理しますか? 「同時」に変更されたファイルをどのようにマージしますか? チェンジセットを元に戻すにはどうすればよいですか? どのようにして以前のバージョンのコードに戻るのですか? 特定のチェンジセットからパッチをどのように抽出しますか? Mercurialコマンドを使用せずにファイルの名前を変更または削除したことをどのように記録しますか? タグ付け、ブランチ、リリース、ベースライン 特定のファイルセットの特定のリビジョンセットをどのように「マーク」、「タグ付け」、または「リリース」して、いつでもそれを後からプルできるようにしますか? 特定の「リリース」をどのように引き出しますか? どのように分岐しますか? どのようにブランチをマージしますか? あるブランチの一部を別のブランチにどのようにマージしますか? その他の Mercurialの良いGUI / IDEプラグイン?メリット/デメリット? 初心者が知っておくべき他の一般的なタスクはありますか? Subversionとどのようにやり取りしますか? その他のMercurialリファレンス Mercurial:決定的なガイド Mercurial Wiki …

15
gitで次のコミットを見つけるにはどうすればよいですか?(ref /の子)
ref^前のコミットを指しますが、後refのコミットについてはどうですか? ref たとえばgit checkout 12345、次のコミットをチェックアウトするにはどうすればよいですか? ありがとう。 PSはい、gitはDAGノードポインタ構造体ツリーです。 この後にコミットを見つけるにはどうすればよいですか?

15
Gitのルートコミットの前にコミットを挿入しますか?
前に、gitリポジトリで最初の2つのコミットを押しつぶす方法について尋ねました。 ソリューションはかなり興味深いものであり、gitの他のいくつかのものほど心をゆがめるものではありませんが、プロジェクトの開発に沿って何度も手順を繰り返す必要がある場合、これらのソリューションはまだよくある痛ましいことです。 したがって、私はむしろ苦痛を一度だけ経験し、それから標準のインタラクティブなリベースを永遠に使用できるようにしたいと思います。 私がやりたいことは、最初の目的のためだけに存在する空の初期コミットを作成することです。コードも、何もありません。スペースを確保するだけで、リベースのベースになります。 私の質問は、既存のリポジトリがある場合、最初のコミットの前に新しい空のコミットを挿入し、他の全員を前にシフトするにはどうすればよいですか?

30
11000行のC ++ソースファイルをどうするか
プロジェクトにこの巨大な(11000行は巨大ですか?)mainmodule.cppソースファイルがあり、それに触れる必要があるたびに私はうんざりしています。 このファイルは非常に中心的でサイズが大きいため、ますます多くのコードを蓄積し続け、実際に縮小し始めるための良い方法は考えられません。 このファイルは、弊社製品のいくつかの(> 10)メンテナンスバージョンで使用され、積極的に変更されているため、リファクタリングするのは非常に困難です。私がそれを「はじめに」3つのファイルに「単純に」分割するとしたら、メンテナンスバージョンからの変更をマージすることは悪夢になります。また、このような長くて豊富な履歴を持つファイルを分割すると、SCC履歴内の古い変更の追跡とチェックが突然非常に困難になります。 このファイルには基本的に、プログラムの「メインクラス」(メインの内部作業ディスパッチおよび調整)が含まれているため、機能が追加されるたびに、このファイルに影響を与え、ファイルが大きくなるたびに影響を受けます。:-( この状況で何をしますか?SCCワークフローを混乱させることなく、新しい機能を別のソースファイルに移動する方法に関するアイデアはありますか? (ツールに関する注意:でC ++を使用しVisual Studioます。次のように使用AccuRevしSCCますが、SCCここではタイプは特に問題ではないと思います。Araxis Merge実際のファイルの比較とマージに使用します)

6
すでにチェックインされているディレクトリの内容を無視しますか?
いくつかのプロジェクトで使用されるグラフィックスとサウンドファイルを保持するためだけに使用されるgitリポジトリがあります。それらはすべてサブディレクトリのない1つのディレクトリにあります。次に、これらのアセットを、いくつかのレベルのサブディレクトリを持つ別の構造化ディレクトリからコピーするスクリプトを作成しました。 ここで、(ソース)階層ファイル構造のみをgitで追跡し、(ターゲット)フラットディレクトリ(すべてのファイルが1つの山になっている)は無視する必要があります。 ターゲットディレクトリを.gitignoreに追加しましたが、gitはその中の変更を引き続き追跡しています。ターゲットディレクトリの古いファイルの削除をコミットすると、gitが新しいコンテンツ(スクリプトによってコピーされたもの)の追跡を停止する可能性があると思いましたが、そうではありません。 ターゲットディレクトリについてgitを忘れさせるにはどうすればよいですか?

1
git reset --hard origin / masterの意味は何ですか?
私はやったgit pullし、エラーが発生しました: 次の作業ツリーファイルはマージによって上書きされます...マージする前に、それらを移動または削除してください。 これを解決するために、私は次のことを行いました: git fetch git reset --hard origin/master 今私がするときgit pull、それは最新のものすべてを言います。これらのコマンドを実行したときに正確に何が起こるか知りたいのですが。git fetchローカルリポジトリにマージせずに、リモートリポジトリから変更をフェッチすることはわかっています。 の意味はgit reset --hard origin/master何ですか?どのように機能しますか?

9
過去にGitをコミットするにはどうすればよいですか?
私は個人的に使用するためにすべてをGitに変換していますが、リポジトリに古いバージョンのファイルがいくつか見つかりました。ファイルの「変更日」に従って正しい順序で履歴にコミットするには、ファイルの正確な履歴を取得するにはどうすればよいですか? 私はこのようなものがうまくいくと言われました: git filter-branch --env-filter="GIT_AUTHOR_DATE=... --index-filter "git commit path/to/file --date " --tag-name-filter cat -- --all


11
Git-コミットエディターを閉じる方法
私はgitとPDFから学ぶのが初めてです。コマンド$ git commitを実行すると、新しいエディターが開きます。しかし、私はその新しいコミットエディターを閉じようとしています。これを行う方法?Windowsでgitを使用しています。

8
フェッチせずにgit-pullをプレビューする方法は?
可能ですか? 基本的に、リモートリポジトリがあり、そこから私は単に以下を使用してプルします。 git pull ここで、私の側の何にも触れずに、このプルが何を変更するか(diff)をプレビューしたいと思います。その理由は、私が引っ張っているものが「良い」ものではない可能性があり、私のリポジトリを「ダーティ」にする前に誰かに修正して欲しいからです。

26
ソース管理への変更をコミットする頻度はどれくらいですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 この質問を改善する どのくらいの頻度で変更をソース管理にコミットする必要がありますか?すべての小さな機能の後、または大きな機能のみですか? 私はプロジェクトに取り組んでおり、実装する長期的な機能があります。現在、私はすべての作業、つまり実装されたすべてのサブ機能とバグ修正の後でコミットしています。バグを発見した後、いくつかの機能のテストの新しいチャンクを追加した後でもコミットします。 しかし、私はこのパターンを心配しています。仕事の生産的な日に、私は10回コミットするかもしれません。私がSubversionを使用していることを考えると、これらのコミットはリポジトリ全体に影響を与えるので、実際にそれを非常に多く作成するのは良い習慣なのでしょうか。

7
git-マージ時に特定のコミットをスキップする
私はGitを1年ほど使用していますが、すばらしいと思いますが、プロジェクトの2番目のバージョンを開始して、新しいブランチを開始しました。今後の最善の処理方法に少し苦労しています。 say master10(v1の場合)とmaster20(v2の場合)という2つのブランチがあります。私はブランチmaster10のv1でバグ修正を行い、master20の新しいものを開発しています。バグ修正を行うたびに、master20をチェックアウトして実行することでv2にマージしますgit merge master10ます。ここまでは順調ですね。 しかし今、私はv2には不要なv1の変更を加えましたが、他のバグ修正を引き続きマージしたいと考えています。特定のコミット(または一連のコミット)をスキップするようにGitに指示する方法はありますが、それでも今後は他のバグ修正をマージしたいと考えています。 思った git rebaseは必要なものかもしれないとが、ドキュメントを読んで、頭がほとんど爆発した。 私が欲しいのは、2つのブランチが同期していて、将来はこの同期ポイントからのコミットのみをマージすることをgitに伝える「git sync」コマンドのようなものだと思います。 助けてくれてありがとう。

10
MercurialリポジトリとのGit相互運用性
MacでGITを使用しています。十分に言った。私には道具があり、経験があります。使い続けたいです。ここには戦争はありません... 問題は常に相互運用性にあります。ほとんどの人がSVNを使用しています。これは私にとって素晴らしいことです。Git SVNはそのまま使用でき、簡単なソリューションではありません。人々は引き続きSVNを快適に使用でき、ワークフローもツールも失うことはありません。 今... Mercurialに同行する人もいます。彼らにとって罰金:彼らには理由があります。しかし、GIT HGをすぐに見つけることはできません。HGに切り替えたくありませんが、リポジトリと相互運用する必要があります。 皆さん、これの簡単な解決策を知っていますか?

3
git-svn:git経由で新しいsvnブランチを作成するにはどうすればよいですか?
私はsvnリポジトリを追跡するgitリポジトリを持っています。を使用してクローンを作成しました--stdlayout。 私は新しいローカルブランチを作成しました git checkout -b foobar 今、私はこのブランチを…/branches/foobarsvnリポジトリに入れたいと思っています。 どうすればいいですか? (多くの調査テキストを省略しました。気になったら質問履歴を参照してください)

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