問題タブ [version-control]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
svn - 全員のソース管理?
プロジェクト ファイルのセットを共有している技術者以外のユーザーが多数います。彼らにバージョン管理を使ってもらうのが理想的ですが、Subversion も git も、非技術系のオフィス スタッフには技術的すぎると思います。
普通の人に適した分散ソース管理ソフトウェアはありますか?
mercurial - Mercurial でブランチを繰り返しマージする方法
私は私が働いている場所で Mercurial を使用しており、SVN を使用した方法と同様のセットアップが必要です。
- トランク
- タグ
- 製造
- 支店
Mercurial はブランチをネイティブにサポートしているため、名前付きブランチの作成方法は知っていますが、「トランク」と「プロダクション」を繰り返しマージする方法に関するドキュメントは見つかりません。
簡単に言えば、通常の作業用の開発ブランチと、開発ブランチから定期的に変更をプルする本番ブランチが必要です。Mercurial でこれを行うにはどうすればよいですか?
svn - 社内ソフトウェア プロジェクトの Subversion リポジトリをどのように編成しますか?
私は、主なビジネスがソフトウェア関連ではない会社で働いています。ソース管理を使用するためのほとんどのドキュメントは、開発チームが商用またはオープン ソース プロジェクト用に作成することを念頭に置いて作成されています。社内でソフトウェアを作成する者として、商用またはオープンソース環境での作業とは異なる方法で作業が行われると言えます。さらに、コードとの同期を維持する必要があるストアド プロシージャとデータベース スクリプトがあります。
特に、社内ソフトウェアを念頭に置いてリポジトリを構成する最善の方法についての提案を求めています。ほとんどのドキュメントは、トランク、ブランチ、タグなどを提案しています。また、本番環境、テスト環境、および開発環境をリポジトリ内のそれぞれのセクションと同期させるための手順なども含まれています。
svn - レガシ コード (およびデータ) をどのように扱いますか?
現在、いくつかの新しいプロジェクトを追加し、いくつかの古いリポジトリからのレガシー コードとデータをマージして、ローカルの Subversion リポジトリを再構築中です。
過去にこれを行ったときは、通常、新しい「適切に構造化された」コードツリーを「邪魔」しないように、レガシーコードを専用の「レガシー」フォルダーに入れました。しかし、リファクタリングの精神からすると、これは少し間違っていると思います。理論的には、レガシー コードは時間の経過とともにリファクタリングされ、新しい場所に移動されますが、実際にはめったに起こりません。
レガシー コードをどのように扱いますか? 古い罪を「レガシー」フォルダーにしまい込み、二度と見たくないという誘惑に駆られるのと同じくらい、あるレベルでは、リポジトリ内のより「健康な」住人、おそらくレガシーコードはいつかうまくいく可能性が高くなりますか?
(ええ、私たちは皆、何かを書き直すべきではないことを知っていますが、これは私の「楽しい」リポジトリであり、私のビジネスプロジェクトではありません...)
アップデート
さまざまなバージョンを追跡する技術的な側面については心配していません。そのためにタグとブランチを使用する方法を知っています。これはより心理的な側面です。なぜなら、私はレポジトリに「きちんとした」構造を持たせたいと思っているからです。
c++ - プロジェクト内の未使用ファイルの検索
Works リポジトリを移行しているので、ソース ツリーに存在する参照されていないすべてのファイルを選別してから、新しい (空の) リポジトリに移動したいと考えています。
これまでのところ、私が知っているすべての参照されていないファイルを手作業で調べましたが、それらすべてをキャッチしたかどうかを確認したいと思います。1 つの方法は、プロジェクト ファイルをファイルごとに手動で新しいフォルダーに移動し、コンパイル時に何が残るかを確認することです。これには 1 週間かかるので、自動化ツールが必要です。
人々は何を提案しますか?
明確化:
1) C++ です。
2) ファイルが混在しています。他の人に取って代わられたがリポジトリで腐敗したままになっているファイルを探しています-たとえば、file_iter.hはプログラム内の他のファイルによって参照されていませんが、誰かがバージョンをコンパイルしたい場合に備えてリポジトリに残ります1996年!現在、使用されなくなったすべてのファイルを安全にジャンクできる新しいリポジトリに移動しています。
3) Lint は、未使用のファイルではなく、未使用のインクルードのみを検出します (目の前に 7.5 のマニュアルがあります)。
git - IIS で Git ベア HTTP 利用可能リポジトリをセットアップする方法
私のサーバーは既に TCP ポート 80 と 443 で IIS を実行しています。一元化された「プッシュ/プル」Git リポジトリを、すべてのチーム メンバーがインターネット経由で利用できるようにしたいと考えています。
したがって、HTTP または HTTPS を使用する必要があります。
しかし、IIS がすでにポート 80 と 443 でリッスン ソケットを接続しているため、Apache を使用できません。IIS経由で Git リポジトリを公開する方法はありますか? Git は WebDAV を使用しますか?
アップデート。Git HTTP インストールは読み取り専用のようです。悲しいね。安定版ブランチをビルド サーバーに保持し、フック オン プッシュを使用して再デプロイするつもりでした。そのブランチにSVNを使用する以外に回避策がある人はいますか?
version-control - TFS を使用したパッチの作成
SubVersion でのパッチの作成は非常に簡単です。Tortoise では、右クリックして [パッチの作成] を選択します。しかし、私の人生では、TFS でこの機能を見つけることができません。これは可能ですか?
そうでない場合、オープン ソース TFS でホストされているプロジェクト (CodePlex 風) でパッチを送信する標準的な方法は何ですか?
sql-server - ソース管理からのDBオブジェクト移行の自動化
ソース管理からのストアドプロシージャ/ビュー/関数/テーブルの変更の展開を自動化するためのいくつかの「ベストプラクティス」を探しています。私はStarTeam&ANTを使用しているので、ラベリングは処理されます。私が探しているのは、ソースからのこれらのオブジェクトのプルを自動化する方法です。必ずしもStarTeamである必要はありません。
最終的に、実行、チェックイン、およびラベル付けできる1つのスクリプトを作成したいと思います。
私は誰かにそれを書くように求めているのではありません-過去にうまくいった(またはうまくいかなかった)いくつかのアイデアやアプローチだけです。
私は混乱を一掃しようとしていますが、これをできるだけ「正しく」近づけたいと思っています。
テーブル/ビュー/関数などをStarTeamの個々のファイルに保存しており、DBはSQL2K5です。
git - Git でステージングされていない変更を破棄するにはどうすればよいですか?
インデックスにない作業コピーの変更を破棄するにはどうすればよいですか?
version-control - 多くの保留中の変更のうちの1つだけを含むビルドをどのように作成しますか?
私の現在の環境では、「クリーンな」ビルドマシンがあり、コミットされたすべての変更の正確なコピーがあり、それ以上でもそれ以下でもありません。
そしてもちろん、私は自分のマシンを持っており、数十のファイルが「進行中」の状態になっています。
多くの場合、1つの変更だけでアプリケーションを構築する必要があります。たとえば、タスクABCを終了し、その変更のみでEXEを作成したいとします。
しかしもちろん、テストされるまでリポジトリに変更をコミットすることはできません。
分岐はこれにはやり過ぎのようです。テストビルドとリリースの変更を分離するために、環境で何をしますか?
@Matt b:では、変更に関するフィードバックを待つ間、何をしますか?あなたはいつもただ一つのことに取り組んでいますか?