2017-01-05 14 views
0

私はこれで時間がある。私はいくつかのSOとMSDNの記事を読んだが、私はちょうど他のすべての答えが私にクリックを指示しているメニューオプションを持っていないように見えます。既存のC#プロジェクトをGitコントロールのソリューションに追加

私はGitの新機能です。私はいくつかのチーム接続( "TFS" visualstudio.com、私自身のGit on visualstudio.com、そして今はvisualstudio.comの他の人のGitに接続している)とのVS2015を持っています。私はGit Extensionsをインストールしました。

私は同僚のGitプロジェクトに接続し、リポジトリを複製すると、ローカルに表示されます。私は彼女のファイルを編集することができ、それらの編集は保留中の変更に表示されます。ステージングとコミットができ、それは問題ありません。

私は彼女のプロジェクトにファイルを追加することができます。ステージングとコミットはうまくいきます。

しかし、私はcsprojファイルを追加しようとしています。私は対処法を右クリックして "追加"を選択し、 "既存のプロジェクト"(別のディレクトリにある)を選択してVSでこれを行います。ローカルではこれは素晴らしいですが、私の追加したプロジェクトはソースコントロールによって管理されていることを示す "ロック"アイコンを表示せず、これらのファイルへの変更は "変更の保留中"には表示されません。

私のプロジェクトフォルダをコピーしました(これは必要ではないことを私に教えてください!)私のローカルgitリポジトリに(私はその用語を使っていますか?Gitプロジェクトをクローンしたローカルディレクトリですか?突然、追加されたファイルはすべて「保留中の変更」に表示されます!私はステージングしてコミットすることができますが、それらはオンラインのvisualstudioに表示されます...しかし、再同期すると、そのプロジェクトに加えた変更は「変更の保留」には表示されません。

私はこれまでずっと長く苦労してきました。誰か助けてくれますか?私は大きな一歩を欠いているように感じる。 Gitは私が働いている人には新しく、この問題は一度もありません(以前は既存のcsprojを追加したことがないかもしれません...)。

その他の情報: csprojを私の "TFS"チームプロジェクト(それは助けになりません)に追加できますが、自分のGitプロジェクトに追加することはできません。

"プロジェクトをソース管理に追加"メニューオプションはありません。

+0

はい、ローカルクローンにファイルをコピーする必要があります。ステージング、コミット(変更タブ)、プッシュ(同期タブ)が必要です。プッシュ後、リモートリポジトリからローカルリポジトリにプルできるようにする必要があります。 – jessehouwing

+0

@jessehouwing:ソースファイルをローカルにコピーする必要がありますか?これが複数のソリューションで使用したいプロジェクトだったらどうでしょうか?私は複数の場所で更新する必要があります! また、ファイルをテストとしてローカルにコピーして変更をコミットしました。彼らはレポオンラインで登場しました。私もそれらを得ることができました(私は私の地元のレポを削除し、再クローンし、プロジェクトが現れました)...しかし、彼らは "ソース管理"ではなかった、彼らはロックアイコンを持っていなかった、 「保留中の変更」に表示されません。 –

+1

共有ライブラリの場合は、それをナゲットパッケージにして、あなたのソリューションから参照してください。あるいはそうすることができます。 2番目のgitリポジトリに住んでいると、サブモジュールを使用することができます。 – jessehouwing

答えて

0

TFSローカルリポジトリにファイルを追加するために(add - > existing project)この方法では使用できません。 2番目の方法(バージョン管理をしたいファイルをローカルのgitリポジトリにコピーする)を使うべきです。そして、ファイルを追加するための変更をコミットします。

ヒント:あなたが直接することができ、TFSのGitのrepojectため、VSにあなたがペンシンボルを見つけることができます(保留中の変更を意味する)とは、最大VSの右下に記号(unpushedコミット)を矢印しますシンボルをクリックしてコミットしてプッシュします。

+0

ありがとうマリーナ。あなたの答えと@jessehouwingの間で、私はこれが新しい習慣であることを理解しています。それは慣れなければならないことですが、それでも質問の他の部分には答えません。私のgit repo、コミット/プッシュ/それを同期、なぜ私はその時点でそのプロジェクトに行った変更は追跡されませんでしたか?今日私はこの振る舞いを複製するのにしばらく時間を費やしています(それは偶然だったのでしょうか?)また、 "git add"を試してみてください。ありがとう。 –

+0

追跡されていないことを意味しますか? .csprojファイルをコピーしてコミット/プッシュ/シンクした場合、このファイルはgitによって追跡され、変更はバージョン管理で見つけることができます。 –

+0

私は、実際には、csprojファイルを含むフォルダをローカルのgitリポジトリにコピーしてプッシュしました。すべてのファイルとフォルダがオンラインリポジトリに表示されました。私は私の地元のレポを削除して引っ張った。私のプロジェクトフォルダとファイルはダウンしましたが、ロックアイコンはありませんでした。プロジェクトのファイルを編集すると、そのファイルは保留中の変更で表示されませんでした。別のプロジェクトの他のファイルを変更してプッシュしました。 2番目のプロジェクトからの変更はオンラインで表示されましたが、追加されたプロジェクトの変更は反映されませんでした。 –

関連する問題