Git di Visual Studio - tambahkan proyek yang ada?

105

Saya mencoba untuk menempatkan proyek yang ada di bawah kendali sumber Git, tetapi saya tidak mengerti beberapa hal.

Saya telah menyiapkan akun Git 'Team Foundation Service' secara online.

Saat ini saya memiliki solusi ASP.NET MVC 4 - di folder Proyek saya. Saya telah membuat 'repositori' Git secara lokal (folder kosong saat ini). Haruskah ini hanya menjadi folder aplikasi saya saat ini di Proyek? Atau apakah itu perlu salinan?

Bagaimana cara memasukkan file saya yang sudah ada ke dalam penyimpanan online?

niico
sumber
Anda menyebutkan "Git di Visual Studio" - apakah Anda menggunakan alat git di Visual Studio 2012?
Edward Thomson
Saya yakin ini sekarang telah disematkan dalam versi 2015 di bawah Penjelajah Tim. Saya mengalami ini, di mana saya tidak bisa 'Publikasikan' (vs dorongan awal setelah init), jadi saya akan menambahkan jawaban dengan instruksi untuk menambahkan URI
mschr

Jawaban:

148

Saya mencari-cari pertanyaan serupa - cara saya berhasil menginisialisasi repositori Git untuk file proyek yang ada adalah ini (penafian: ini dilakukan di Visual Studio 2013 Express, tanpa pengaturan Team Foundation Server):

  1. Buka proyek di Visual Studio.
  2. Masuk ke menu FileAdd to Source Control .

Itu berhasil untuk saya - dengan asumsi Git disiapkan untuk Anda, Anda dapat membuka menu View Team Explorer , lalu klik dua kali repositori untuk file proyek Anda, dan buat komit awal Anda (pastikan untuk menambahkan file apa pun yang Anda inginkan ).

beruang udara
sumber
7
Ini juga akan menghemat kerumitan untuk "menyediakan file .gitignore yang wajar", karena Visual Studio akan menangani detail ini untuk Anda. Antara git init manual dan ini, ini adalah metode pilihan saya mulai sekarang.
MrCC
Jika Anda ingin memilih Proyek yang menjadi tujuan solusi baru ini, Anda dapat mengklik tombol Sinkronkan - lalu klik terbitkan ke git repo, lalu klik solusi lanjutan dan pilih Proyek yang ingin Anda tambahi solusi baru ini .. setelah Anda memilikinya selesai, Anda kemudian dapat melakukan sinkronisasi dan boom
Jamisco
Catatan: ini tidak berfungsi untuk saya karena saya telah menambahkan pustaka bersama yang disertakan dalam repositori lain. Saya harus menghapus proyek bersama sebelum opsi 'Tambahkan ke Kontrol Sumber' tersedia.
Neil B
2
Mereka harus menambahkan ini ke jendela Team Explorer.
thReality
66
  1. Pertama-tama Anda perlu menginstal perangkat lunak Git pada mesin pengembangan lokal Anda, misalnya Ekstensi Git .
  2. Kemudian lakukan git initdi folder solusi. Itu adalah cara yang tepat untuk membuat folder repositori.
  3. Siapkan .gitignorefile yang wajar , sehingga Anda tidak melakukan hal-hal yang tidak perlu.
  4. git add
  5. git commit
  6. Tambahkan remote yang tepat, seperti yang dijelaskan di akun Server Team Foundation Anda git remote add origin <proper URL>
  7. git push kode Anda

Alternatifnya, ada panduan rinci di sini menggunakan integrasi Visual Studio.

Klas Mellbourn
sumber
Ini bekerja dengan baik, terima kasih Klas! Satu catatan: Anda harus memiliki url dalam tanda kutip agar berfungsi.
Jack Fairfield
NB: URL Baru untuk Ekstensi Git: visualstudiogallery.msdn.microsoft.com/…
JohnLBevan
@JohnLBevan bahwa ekstensi sepertinya mengarah ke versi lama
Klas Mellbourn
@PaulSarnske terima kasih sudah memberi tahu saya. Saya sudah memperbaikinya sekarang
Klas Mellbourn
15

Setelah bekerja keras di sekitar Visual Studio saya akhirnya menemukan jawaban yang membutuhkan waktu lebih lama dari yang seharusnya.

Untuk mengambil proyek yang ada tanpa kontrol sumber dan meletakkannya ke repositori GitHub KOSONG (ini penting), prosesnya sederhana, tetapi rumit, karena kecenderungan pertama Anda adalah menggunakan Penjelajah Tim, yang salah dan itulah sebabnya Anda mengalami masalah.

Pertama, tambahkan ke kontrol sumber. Ada beberapa penjelasan di atas, dan semua orang sampai sejauh ini.

Sekarang, ini membuka repositori LOKAL kosong dan trik yang tidak pernah diberitahukan orang kepada Anda adalah dengan mengabaikan Team Explorer sepenuhnya dan pergi ke Solution Explorer, klik kanan solusi dan klik Commit.

Ini kemudian melakukan semua perbedaan antara solusi Anda yang ada dan repositori lokal, pada dasarnya memperbaruinya dengan semua file baru ini. Beri nama komit default 'file awal' atau apa pun yang mengapung perahu Anda dan komit.

Kemudian cukup klik Sync di layar berikutnya dan masukkan URL repositori GitHub KOSONG. Pastikan itu kosong atau Anda akan mengalami konflik cabang utama dan itu tidak akan membiarkan Anda. Jadi gunakan repositori baru atau hapus yang lama yang sebelumnya telah Anda buat kacau. Ingatlah ini adalah Visual Studio 2013, jadi jarak tempuh Anda mungkin berbeda.

Bermanfaat
sumber
14

Cukup klik kanan pada solusi Anda dan pilih Tambahkan ke kontrol sumber . Kemudian pilih Git.

Sekarang proyek Anda telah ditambahkan ke kontrol sumber lokal. Klik kanan pada salah satu file Anda dan pilih Komit .

Kemudian masukkan pesan komit dan pilih Komit . Kemudian pilih Sinkronkan untuk menyinkronkan proyek Anda dengan GitHub. Ini membutuhkan repositori Git. Buka GitHub, buat repositori baru, salin tautan repositori, dan tambahkan ke server kendali sumber jarak jauh Anda. Pilih Publikasikan .

Itu saja.

Hashem Aboonajmi
sumber
Jawaban ini benar dan berfungsi di VS 2015. Namun saya punya pertanyaan besar karena ini adalah pengguna git baru. VS 2015 tampaknya tidak membuat file gitignore atau menawarkan cara apa pun untuk mengabaikan dlls / file yang dibuat oleh VS yang TIDAK boleh dicentang. Seperti folder obj misalnya dan mencoba memasukkan semuanya ke dalam repo lokal. Adakah yang punya masalah ini? Saya tidak ingin semua hal ini dilakukan secara lokal.
Matt
Saya akan mengubah komentar saya di atas saat saya mempelajari lebih lanjut. Ketika saya memeriksa direktori itu sebenarnya membangun file gitignore yang bagus karena sangat besar dan saya tidak suka mencoba membuatnya secara manual. Namun, ketika saya mencoba melakukan komit awal saya ke repo lokal, VS tidak menggunakan file gitignore ini karena semua file tersedia untuk dikomit ke git dan itu adalah kekacauan besar. Jadi saya menutup solusi, menghapus folder .git dan 2 file git dalam solusi saya (yang terlepas dari git), membuka kembali dan membuka file-> tambahkan ke kontrol sumber dan memilih git lagi. Kali ini berhasil dengan baik.
Matt
Sekarang Desember 2019 dan itu lebih mudah. Setelah saya melakukan langkah-langkah di atas dan menekan Sync, saya diminta dengan akun GitHub dan apakah saya ingin menjadikannya sebagai repositori pribadi. Setelah dipilih, repositori baru dibuat untuk saya (tanpa saya harus pergi ke GitHub) dan berhasil dibuat.
batpox
5

Menggunakan SourceTree :

Klik kanan nama solusi di Solution Explorer. Pilih "Tambahkan ke Kontrol Sumber" .

Kemudian menuju ke SourceTree, dan pilih Clone / New . Pilih Add Working Folder dan arahkan ke tempat Git baru yang baru saja Anda buat di dalam solusi Anda.

Pergi dan ambil alamat klon untuk Git kosong, (Bitbucket atau GitHub) dan kembali ke SourceTree, klik kanan Remote dan tambahkan Remote Baru . (Catatan dalam versi modern, buka RepositoriesAdd Remote .... Tempel URL Anda di kotak itu dan tekan OK.

Ini adalah bagaimana Anda dapat membuat komit dan dorongan awal Anda.

Clark
sumber
5

Cara termudah jelas seperti yang dijelaskan di artikel MSDN Berbagi kode Anda dengan Visual Studio 2017 dan VSTS Git .

  1. Buat repositori Git lokal baru untuk proyek Anda dengan memilih Tambahkan ke Kontrol Sumber di bilah status di sudut kanan bawah Visual Studio. Ini akan membuat repositori baru di folder tempat solusi berada dan memasukkan kode Anda ke dalam repositori itu.

    Masukkan deskripsi gambar di sini

  2. Dalam tampilan Push di Team Explorer, pilih tombol Publish Git Repository di bawah Push to Visual Studio Team Services.

    Masukkan deskripsi gambar di sini

  3. Hubungkan Remote Source Control dan masukkan nama repositori Anda dan pilih Publish Repository .

    Masukkan deskripsi gambar di sini

batmaci.dll
sumber
3

Pada Visual Studio 2015 satu-satunya cara saya akhirnya berhasil adalah dengan menjalankannya git init dari root direktori saya menggunakan baris perintah. Lalu saya masuk ke Team Explorer dan menambahkan repositori git lokal. Kemudian saya memilih repositori git lokal itu, pergi ke Pengaturan-> Pengaturan Repositori, dan menambahkan Remote Repo saya. Begitulah cara saya akhirnya dapat mengintegrasikan Visual Studio untuk menggunakan proyek saya yang sudah ada dengan git.

Saya membaca semua jawaban tetapi tidak ada yang berhasil untuk saya. Saya pergi ke File-> Add To Source Control, yang git initseharusnya pada dasarnya melakukan hal yang sama , tetapi tampaknya tidak menginisialisasi proyek saya karena ketika saya kemudian pergi ke Team Explorer semua opsi berwarna abu-abu. Juga tidak ada yang akan muncul di dialog Perubahan. Jawaban lain menyatakan bahwa saya hanya perlu membuat repo lokal di Team Explorer dan kemudian perubahan saya akan muncul, tetapi itu juga tidak berhasil. Semua opsi Git di Team Explorer hanya berfungsi setelah saya menginisialisasi proyek saya melalui baris perintah.

Saya baru mengenal Visual Studio jadi saya tidak tahu apakah saya melewatkan sesuatu yang jelas, tetapi sepertinya proyek saya tidak diinisialisasi dari Visual Studio.

chavab_1
sumber
Setelah Anda memilih "File -> Add to Source Control", apakah ada sesuatu di jendela Output untuk panel "Source Control - Git"? Saya tidak mengharapkan apa pun di halaman Perubahan, tetapi jika Anda melihat riwayat repositori Git, saya mengharapkannya untuk menampilkan komit "Tambahkan file proyek" di mana file tersebut dikomit ke repositori.
jamill
Apakah ini sama dengan Source Control Explorer? Jika demikian, itu tidak menunjukkan apa-apa. Ini hanya menampilkan tautan untuk menambahkan plugin kontrol sumber. Ketika saya mengkliknya, dan memilih Git, tidak ada yang terjadi. Sedangkan untuk panel lain di dalam Team Explorer, tidak ada yang terjadi. Hanya setelah saya menginisialisasi proyek dari baris perintah dan kemudian membuat repo lokal dari panel Connections, saya mulai melihat alat VS Git berinteraksi dengan proyek saya.
chavab_1
2

Pertama buat 'Folder Solusi' dengan jalur relatif yang diinginkan. Perhatikan bahwa Visual Studio 2012 tidak membuat folder sistem dengan lintasan relatif yang sama.

Sekarang di dalam 'Folder Solusi' tambahkan proyek baru, tetapi Anda harus berhati-hati saat menentukannya bahwa jalur relatif dalam sistem cocok dengan jalur relatif dari 'Folder Solusi' baru Anda. Jika folder sistem yang Anda inginkan tidak ada, Visual Studio 2012 sekarang akan membuatnya untuk proyek baru. (Seperti disebutkan di atas, ini tidak melakukan ini saat Anda menambahkan 'Folder Solusi' baru.)

Jika Anda ingin menambahkan file yang sudah ada dengan jalur relatif yang cocok, Anda harus terlebih dahulu membuat file di jalur relatif sistem yang cocok, dari luar Visual Studio. Kemudian Anda dapat menambahkan file yang ada di Visual Studio.

Anthony Biagioli
sumber
1

Jika repositori yang diinginkan sudah ada (mungkin di GitHub), Anda dapat mengkloningnya ke sistem lokal Anda, lalu menyalin direktori solusi ke dalamnya. Kemudian tambahkan file, komit file, dan dorong lokal. Ini meletakkan solusi di repositori.

Jiminion
sumber
1

Git di Visual Studio - tambahkan proyek yang ada ; cara mempublikasikan repositori lokal Anda ke proyek di GitHub, GitLab, atau sejenisnya.

Jadi, Anda telah membuat solusi dan ingin menguploadnya dan versioncontroller melalui akun Git Anda di suatu tempat. Visual Studio 2015 memiliki alat di Team Explorer untuk ini.

Seperti yang disebutkan Meuep, muat solusi Anda lalu navigasikan File >> Add to Source Control . Ini sama dengan git init. Maka Anda akan memiliki ini:

Beranda Penjelajah Tim

Sekarang, pilih Settings >> Repository Settings dan gulir ke Remote .

Masukkan deskripsi gambar di sini

Siapkan origin(pastikan Anda meletakkan nama yang dicadangkan ini di sana) dan setel URI.

Kemudian Anda dapat menggunakan Add, Syncdan Publish.

mschr
sumber
0

Jika Anda ingin membuka proyek yang sudah ada dari GitHub, Anda perlu melakukan hal berikut (ini adalah langkah-langkah hanya untuk Visual Studio 2013 !!!! Dan yang lebih baru, karena di versi yang lebih lama tidak ada penginstalan Git bawaan):

  1. Penjelajah tim → Hubungkan ke teamProjects → Local GitRepositories → Clone .

  2. Salin / tempel alamat GitHub Anda dari browser.

  3. Pilih jalur lokal untuk proyek ini.

Andrew
sumber
0

Bagi saya, repositori Git (bukan GitHub) telah dibuat, tetapi kosong. Ini adalah solusi saya untuk menambahkan proyek yang ada ke repositori Git:

  1. Saya mengkloning dan memeriksa repositori dengan Git Extensions.
  2. Kemudian saya menyalin file proyek saya yang ada ke dalam repositori ini.
  3. Menambahkan .gitignorefile.
  4. Pementasan dan komitmen semua file.
  5. Didorong ke repositori jarak jauh.

Akan menarik untuk melihat ini semua dilakukan langsung di Visual Studio 2015 tanpa alat seperti Ekstensi Git, tetapi hal-hal yang saya coba di Visual Studio tidak berfungsi ( Tambahkan ke kontrol sumber tidak tersedia untuk proyek saya, menambahkan remote tidak bantuan, dll.).

pengujian
sumber
0

Untuk menambahkan proyek dalam solusi, cukup buka jendela Team Explorer dan pergi ke Perubahan. Kemudian, di bawah File Tidak Terlacak, klik pada opsi Tampilan dan pilih Beralih ke Tampilan Pohon (kecuali jika sudah dalam tampilan pohon), klik kanan pada folder akar proyek, dan pilih Tambah .

Masukkan deskripsi gambar di sini

Biru Keren
sumber
0

Saya selalu lupa ini jadi ini lebih untuk diri saya sendiri tapi mungkin bisa membantu orang lain menggunakan VS.

Visual Studio memiliki konsep Solusi. Namun dalam git, ia memiliki konsep repositori git yang dilacak oleh cabang lokal dan jarak jauh. Semua file dan folder yang ditambahkan ke git bersifat lokal.

Sekarang kembali ke Visual Studio Solutions saat Anda membuat proyek templat standar, itu membuat semua proyek secara lokal ke solusi itu.

Jadi masalahnya terjadi ketika Anda menambahkan proyek yang tidak lokal ke solusi atau git dalam hal ini. Apa yang terjadi adalah bahwa file solusi .sln diperbarui dengan lokasi proyek tetapi konten sebenarnya dari proyek, file dan folder proyek tidak dapat ditambahkan ke git karena mereka berada di direktori terpisah atau drive jaringan terpisah atau satu server ftp dll .... Ini mungkin lebih disukai jika Anda hanya menginginkan referensi ke file proyek yang dikompilasi hanya dalam file .sln atau Anda ingin menjadikannya sumber untuk memisahkan repositori git atau github. Tetapi Anda tidak ingin file sebenarnya dilacak oleh git secara lokal.

Untuk memperbaiki ini (yaitu Anda ingin menambahkannya ke repositori git Anda) Anda cukup memindahkan file jarak jauh yang diinginkan dalam lingkup solusi dan file proyeknya sehingga mereka lokal.

RetroCoder
sumber
0

Berikut adalah cara melakukannya di Visual Studio 2015.

  1. Buka proyek dan pergi ke Tools >> Options >> tab "Source Control" dan pilih "Git" sebagai kontrol sumber Anda. masukkan deskripsi gambar di sini

  2. Buka Menu File dan pilih "Tambahkan ke kontrol sumber".

Apa yang dilakukan ini pada dasarnya adalah menjalankan "git init" dengan visual studio membuat semua lonceng dan peluit (pengaturan mengabaikan file yang sesuai seperti mengabaikan file khusus pengguna, file sementara, direktori dll).

Pada dasarnya repositori git Anda telah dibuat dengan benar secara lokal (ini adalah langkah utama dengan proyek VS karena folder ini berisi banyak file yang ingin kami abaikan).

Sekarang Anda dapat menghubungkan repositori git ini ke git lain seperti GitHub, BitBucket dll di git bash (di luar Visual Studio).

Saya memulai sesi Git Bash sekarang di direktori kerja ini dan karena saya menggunakan BitBucket, saya mengikuti instruksi yang diberikan di sana (cukup salin baris di bawah ini dari sana).

git remote add origin https: //[email protected]/yourusername/hookdemo.git

git push -u master asal

Itu dia.

Setelah itu Anda dapat mengelola repositori pada baris perintah git itu sendiri karena penyiapannya sekarang dengan benar.

zar
sumber