Git trong Visual Studio - thêm dự án hiện có?


105

Tôi đang cố gắng đặt một dự án hiện có dưới quyền kiểm soát nguồn Git, nhưng tôi không rõ về một số điều.

Tôi đã thiết lập tài khoản Git 'Team Foundation Service' trực tuyến.

Tôi hiện có giải pháp ASP.NET MVC 4 - trong thư mục Dự án của tôi. Tôi đã tạo cục bộ 'kho lưu trữ' Git (một thư mục trống hiện tại). Đây chỉ là thư mục ứng dụng hiện tại của tôi trong Dự án? Hay nó cần phải là một bản sao?

Làm cách nào để tải các tệp hiện có của tôi vào kho lưu trữ trực tuyến?


Bạn đề cập đến "Git trong Visual Studio" - bạn có đang sử dụng công cụ git trong Visual Studio 2012 không?
Edward Thomson

Tôi tin rằng điều này hiện đã được nhúng vào phiên bản 2015 trong Team Explorer. Tôi đã gặp phải vấn đề này, nơi tôi không thể 'Xuất bản' (so với lần đẩy ban đầu sau khi init), vì vậy tôi sẽ thêm câu trả lời với hướng dẫn về cách thêm URI
mschr

Câu trả lời:


148

Tôi đã tìm kiếm xung quanh cho một câu hỏi tương tự - cách tôi quản lý để khởi tạo kho lưu trữ Git cho tệp dự án hiện có là điều này (tuyên bố từ chối trách nhiệm: điều này được thực hiện trong Visual Studio 2013 Express, không cần thiết lập Máy chủ Team Foundation):

  1. Mở dự án trong Visual Studio.
  2. Chuyển đến menu TệpThêm vào Kiểm soát nguồn .

Điều đó đã làm được điều đó đối với tôi - giả sử Git được thiết lập cho bạn, bạn có thể chuyển đến menu ViewTeam Explorer , sau đó nhấp đúp vào kho lưu trữ cho tệp dự án của bạn và thực hiện cam kết ban đầu của bạn (đảm bảo thêm bất kỳ tệp nào bạn muốn ).


7
Điều này cũng sẽ giúp bạn tiết kiệm rắc rối khi "cung cấp tệp .gitignore hợp lý", vì Visual Studio sẽ giải quyết chi tiết này cho bạn. Giữa git init thủ công và cái này, đây là phương pháp ưa thích của tôi kể từ bây giờ.
MrCC

Nếu bạn muốn chọn Dự án mà giải pháp mới này đưa vào, bạn có thể nhấp vào nút Đồng bộ hóa - sau đó nhấp vào xuất bản lên git repo, sau đó nhấp vào giải pháp nâng cao và chọn Dự án bạn muốn thêm giải pháp mới này vào .. sau khi bạn có làm điều đó, bạn có thể sau đó đồng bộ và phát triển vượt bậc
Jamisco

Lưu ý: điều này không hiệu quả với tôi vì tôi đã thêm một thư viện chia sẻ được đưa vào một kho lưu trữ khác. Tôi đã phải xóa dự án được chia sẻ trước khi tùy chọn 'Thêm vào Kiểm soát Nguồn' khả dụng.
Neil B

2
Họ sẽ thêm cái này vào cửa sổ Team Explorer.
thReality

66
  1. Trước hết, bạn cần cài đặt phần mềm Git trên máy phát triển cục bộ của mình, ví dụ như Git Extensions .
  2. Sau đó làm git inittrong thư mục giải pháp. Đó là cách thích hợp để tạo một thư mục kho lưu trữ.
  3. Thiết lập một .gitignoretệp hợp lý để bạn không phạm phải những thứ không cần thiết.
  4. git add
  5. git commit
  6. Thêm điều khiển từ xa thích hợp, như được mô tả trong tài khoản Máy chủ Team Foundation của bạn git remote add origin <proper URL>
  7. git push ma cua ban

Ngoài ra, có các hướng dẫn chi tiết ở đây bằng cách sử dụng tích hợp Visual Studio.


Điều này làm việc tuyệt vời, cảm ơn Klas! Một lưu ý: bạn cần đặt url của mình trong dấu ngoặc kép để nó hoạt động.
Jack Fairfield

NB: URL mới cho Git Extensions: visualstudiogallery.msdn.microsoft.com/...
JohnLBevan

@JohnLBevan rằng phần mở rộng trông giống như nó đang trỏ đến một phiên bản cũ
Klas Mellbourn

các liên kết bị hỏng

@PaulScharnofske cảm ơn vì đã cho tôi biết. Tôi đã sửa chúng ngay bây giờ
Klas Mellbourn

15

Sau khi tìm hiểu về Visual Studio, cuối cùng tôi đã tìm ra câu trả lời mất nhiều thời gian hơn đáng lẽ.

Để đưa một dự án hiện có mà không cần kiểm soát nguồn và đưa nó vào kho lưu trữ GitHub EMPTY (điều này quan trọng), quy trình này rất đơn giản, nhưng phức tạp, bởi vì xu hướng đầu tiên của bạn là sử dụng Team Explorer, điều này là sai và là lý do bạn đang gặp vấn đề.

Đầu tiên, hãy thêm nó vào kiểm soát nguồn. Có một số giải thích về điều đó ở trên, và mọi người đều hiểu được điều này.

Bây giờ, điều này sẽ mở ra một kho lưu trữ ĐỊA PHƯƠNG trống và mẹo mà không ai nói với bạn là bỏ qua Team Explorer hoàn toàn và chuyển đến Solution Explorer, nhấp chuột phải vào giải pháp và nhấp vào Cam kết.

Sau đó, điều này cam kết tất cả sự khác biệt giữa giải pháp hiện có của bạn và kho lưu trữ cục bộ, về cơ bản cập nhật nó với tất cả các tệp mới này. Đặt cho nó một tên cam kết mặc định 'các tệp ban đầu' hoặc bất cứ thứ gì trôi nổi trên thuyền của bạn và cam kết.

Sau đó, chỉ cần nhấp vào Đồng bộ hóa trên màn hình tiếp theo và thả vào URL kho lưu trữ EMPTY GitHub. Đảm bảo rằng nó trống nếu không bạn sẽ có xung đột nhánh chính và nó sẽ không cho phép bạn. Vì vậy, sử dụng một kho lưu trữ mới hoặc xóa kho lưu trữ cũ mà bạn đã sử dụng trước đó. Hãy nhớ rằng đây là Visual Studio 2013, vì vậy số dặm của bạn có thể thay đổi.


14

Chỉ cần nhấp chuột phải vào giải pháp của bạn và chọn Thêm vào kiểm soát nguồn . Sau đó chọn Git.

Bây giờ các dự án của bạn đã được thêm vào một điều khiển nguồn cục bộ. Nhấp chuột phải vào một trong các tệp của bạn và chọn Cam kết .

Sau đó nhập thông báo cam kết và chọn Cam kết . Sau đó chọn Đồng bộ để đồng bộ hóa dự án của bạn với GitHub. Nó yêu cầu phải có một kho lưu trữ Git. Truy cập GitHub, tạo một kho lưu trữ mới, sao chép liên kết kho lưu trữ và thêm nó vào máy chủ điều khiển nguồn từ xa của bạn. Chọn Xuất bản .

Đó là tất cả.


Câu trả lời này là chính xác và hoạt động trong VS 2015. Tuy nhiên, tôi có một câu hỏi lớn với đây là một người dùng git mới. VS 2015 dường như không tạo tệp gitignore hoặc đưa ra bất kỳ cách nào để bỏ qua dlls / tệp được tạo bởi VS KHÔNG nên đăng ký. Ví dụ như thư mục obj và nó đang cố gắng chuyển mọi thứ vào kho lưu trữ cục bộ. Có ai gặp phải vấn đề này không? Tôi không muốn tất cả những thứ này được cam kết tại địa phương.
Matt

Tôi sẽ sửa đổi nhận xét của tôi ở trên khi tôi tìm hiểu thêm. Khi tôi kiểm tra thư mục, trên thực tế, nó đã tạo tệp gitignore, điều đó thật tuyệt vì nó rất lớn và tôi rất ghét cố gắng tạo tệp này theo cách thủ công. Tuy nhiên, khi tôi cố gắng thực hiện cam kết ban đầu của mình vào repo cục bộ, VS đã không sử dụng tệp gitignore này vì tất cả các tệp đều có sẵn để cam kết vào git và đó là một mớ hỗn độn lớn. Vì vậy, tôi đã đóng giải pháp, xóa thư mục .git và 2 tệp git trong giải pháp của mình (tách khỏi git), mở lại và đi tới tệp-> thêm vào kiểm soát nguồn và chọn lại git. Lần này nó hoạt động tuyệt vời.
Matt,

Bây giờ là tháng 12 năm 2019 và nó thậm chí còn dễ dàng hơn. Sau khi thực hiện các bước trên và nhấn Đồng bộ hóa, tôi được nhắc với tài khoản GitHub và liệu tôi có muốn đặt tài khoản này thành kho lưu trữ riêng tư hay không. Sau khi được chọn, kho lưu trữ mới đã được tạo cho tôi (mà tôi không cần phải truy cập GitHub) và được tạo thành công.
batpox

5

Sử dụng SourceTree :

Nhấp chuột phải vào tên giải pháp trong Solution Explorer. Chọn "Thêm vào Kiểm soát Nguồn" .

Sau đó, truy cập SourceTree và chọn Clone / New . Chọn Thêm thư mục làm việc và trỏ đến vị trí Git mới mà bạn vừa tạo bên trong giải pháp của mình.

Go và lấy địa chỉ clone cho một Git rỗng, (Bitbucket hoặc GitHub) và quay trở lại SourceTree, nhấn chuột phải Remotes và thêm mới từ xa . (Lưu ý trong các phiên bản hiện đại, hãy chuyển đến Kho lưu trữThêm từ xa .... Dán URL của bạn vào hộp đó và nhấn OK.

Đây là cách bạn có thể thực hiện cam kết và thúc đẩy ban đầu của mình.


5

Cách dễ nhất rõ ràng là như được mô tả trong bài viết MSDN Chia sẻ mã của bạn với Visual Studio 2017 và VSTS Git .

  1. Tạo một kho lưu trữ Git cục bộ mới cho dự án của bạn bằng cách chọn Thêm vào Kiểm soát Nguồn trong thanh trạng thái ở góc dưới bên phải của Visual Studio. Thao tác này sẽ tạo một kho lưu trữ mới trong thư mục chứa giải pháp và cam kết mã của bạn vào kho lưu trữ đó.

    Nhập mô tả hình ảnh tại đây

  2. Trong dạng xem Đẩy trong Team Explorer, hãy chọn nút Xuất bản Kho lưu trữ Git trong Đẩy tới Dịch vụ Nhóm Visual Studio.

    Nhập mô tả hình ảnh tại đây

  3. Kết nối Điều khiển Nguồn Từ xa và nhập tên kho lưu trữ của bạn và chọn Xuất bản Kho lưu trữ .

    Nhập mô tả hình ảnh tại đây


3

Trên Visual Studio 2015, cách duy nhất cuối cùng tôi đã làm cho nó hoạt động là chạy git inittừ thư mục gốc của tôi bằng dòng lệnh. Sau đó, tôi vào Team Explorer và thêm một kho lưu trữ git cục bộ. Sau đó, tôi đã chọn kho lưu trữ git cục bộ đó, đi tới Cài đặt-> Cài đặt kho lưu trữ và thêm Kho lưu trữ từ xa của mình. Đó là cách cuối cùng tôi đã có thể tích hợp Visual Studio để sử dụng dự án hiện có của mình với git.

Tôi đã đọc tất cả các câu trả lời nhưng không có câu trả lời nào phù hợp với tôi. Tôi đi tới File-> Add To Source Control, về cơ bản được cho là thực hiện tương tự như vậy git init, nhưng nó dường như không khởi tạo dự án của tôi vì khi tôi chuyển đến Team Explorer, tất cả các tùy chọn đều bị chuyển sang màu xám. Ngoài ra, không có gì sẽ hiển thị trong hộp thoại Thay đổi. Một câu trả lời khác nói rằng tôi chỉ cần tạo một kho lưu trữ cục bộ trong Team Explorer và sau đó các thay đổi của tôi sẽ hiển thị, nhưng điều đó cũng không hoạt động. Tất cả các tùy chọn Git trên Team Explorer chỉ hoạt động sau khi tôi khởi tạo dự án của mình thông qua dòng lệnh.

Tôi mới sử dụng Visual Studio nên tôi không biết liệu mình có bỏ lỡ điều gì đó rõ ràng hay không, nhưng có vẻ như dự án của tôi không được khởi tạo từ Visual Studio.


Sau khi bạn chọn "Tệp -> Thêm vào Kiểm soát Nguồn", có gì trong cửa sổ Đầu ra cho ngăn "Kiểm soát Nguồn - Git" không? Tôi sẽ không mong đợi bất kỳ điều gì trong trang Thay đổi, nhưng nếu bạn đã xem lịch sử của kho lưu trữ Git, tôi sẽ mong đợi nó hiển thị cam kết "Thêm tệp dự án" nơi các tệp được cam kết vào kho lưu trữ.
jamill

Điều này có giống với Trình khám phá điều khiển nguồn không? Nếu vậy, nó không hiển thị bất cứ điều gì. Nó chỉ hiển thị một liên kết để thêm một plugin kiểm soát nguồn. Khi tôi nhấp vào nó và chọn Git, không có gì xảy ra. Đối với các bảng khác bên trong Team Explorer, cũng không có gì xảy ra. Chỉ sau khi tôi khởi tạo dự án từ dòng lệnh và sau đó tạo một kho lưu trữ cục bộ từ ngăn Kết nối, tôi mới bắt đầu thấy các công cụ VS Git tương tác với dự án của mình.
chavab_1

2

Đầu tiên tạo một 'Thư mục Giải pháp' với đường dẫn tương đối mong muốn. Lưu ý rằng Visual Studio 2012 không tạo thư mục hệ thống có cùng đường dẫn tương đối.

Bây giờ bên trong 'Thư mục Giải pháp' đó thêm một dự án mới, nhưng bạn phải cẩn thận khi xác định nó rằng đường dẫn tương đối trong hệ thống khớp với đường dẫn tương đối của 'Thư mục Giải pháp' mới của bạn. Nếu thư mục hệ thống bạn muốn không tồn tại, Visual Studio 2012 sẽ tạo nó cho dự án mới. (Như đã lưu ý ở trên, nó không thực hiện điều này khi bạn thêm 'Thư mục Giải pháp' mới.)

Nếu bạn muốn thêm tệp hiện có với đường dẫn tương đối phù hợp, trước tiên bạn phải tạo tệp trong đường dẫn tương đối của hệ thống phù hợp, từ bên ngoài Visual Studio. Sau đó, bạn có thể Thêm tệp hiện có trong Visual Studio.


1

Nếu kho lưu trữ mong muốn đã tồn tại (có lẽ trên GitHub) thì bạn có thể sao chép nó vào hệ thống cục bộ của mình, sau đó sao chép thư mục giải pháp vào đó. Sau đó, thêm tệp, cam kết tệp và đẩy cục bộ. Điều này đưa giải pháp vào một kho lưu trữ.


1

Git trong Visual Studio - thêm dự án hiện có ; cách xuất bản kho lưu trữ cục bộ của bạn cho một dự án trên GitHub, GitLab hoặc tương tự.

Vì vậy, bạn đã tạo một giải pháp và bạn muốn nó được tải lên và bộ điều khiển phiên bản thông qua tài khoản Git của bạn ở đâu đó. Visual Studio 2015 có các công cụ trong Team Explorer cho việc này.

Như Meuep đã đề cập, hãy tải giải pháp của bạn và sau đó điều hướng File >> Add to Source Control . Điều này tương đương với git init. Sau đó, bạn sẽ có cái này:

Trang chủ Team Explorer

Bây giờ, chọn Settings >> Repository Settings và cuộn đến Điều khiển từ xa .

Nhập mô tả hình ảnh tại đây

Thiết lập origin(đảm bảo bạn đặt tên dành riêng này ở đó) và đặt các URI.

Sau đó, bạn có thể sử dụng Add, SyncPublish.


1

Quá trình được đơn giản hóa rất nhiều cho VS2017 / VS2019 (thậm chí có thể sớm hơn, nhưng tôi chưa thử nghiệm) kết hợp với GitHub:

  1. Tạo kho lưu trữ trống trong GitHub => https://github.com/ /.git

  2. Cài đặt tiện ích mở rộng GitHub cho Visual Studio

  3. Thực hiện theo những hướng dẫn này : (tùy chọn thêm để kiểm soát nguồn để khởi tạo git) -> Đội thám hiểm -> Sync -> Publish để GitHub -> https://github.com/ /.git


0

Nếu bạn muốn mở một dự án hiện có từ GitHub, bạn cần làm như sau (đây là các bước chỉ dành cho Visual Studio 2013 !!!! Và mới hơn, vì trong các phiên bản cũ hơn, không có cài đặt Git tích hợp sẵn):

  1. Người khám phá nhóm → Kết nối với nhóm Dự án → GitRepositories cục bộ → Nhân bản .

  2. Sao chép / dán địa chỉ GitHub của bạn từ trình duyệt.

  3. Chọn một đường dẫn cục bộ cho dự án này.


0

Đối với tôi, một kho lưu trữ Git (không phải GitHub) đã được tạo, nhưng trống rỗng. Đây là giải pháp của tôi để thêm dự án hiện có vào kho lưu trữ Git:

  1. Tôi đã sao chép và kiểm tra một kho lưu trữ với Tiện ích mở rộng Git.
  2. Sau đó, tôi đã sao chép các tệp dự án hiện có của mình vào kho lưu trữ này.
  3. Đã thêm một .gitignoretệp.
  4. Đã tổ chức và cam kết tất cả các tệp.
  5. Được đẩy vào kho lưu trữ từ xa.

Sẽ rất thú vị khi thấy tất cả điều này được thực hiện trực tiếp trong Visual Studio 2015 mà không cần các công cụ như Tiện ích mở rộng Git, nhưng những thứ tôi đã thử trong Visual Studio không hoạt động ( Thêm vào điều khiển nguồn không khả dụng cho dự án của tôi, thêm điều khiển từ xa thì không giúp đỡ, v.v.).


0

Để thêm một dự án trong một giải pháp, chỉ cần mở cửa sổ Team Explorer và đi tới Thay đổi. Sau đó, trong Tệp không theo dõi, nhấp vào Tùy chọn xem và chọn Chuyển sang Chế độ xem dạng cây (trừ khi nó đã ở chế độ xem dạng cây), nhấp chuột phải vào thư mục gốc của dự án và chọn Thêm .

Nhập mô tả hình ảnh tại đây


0

Tôi luôn quên điều này vì vậy điều này là nhiều hơn cho bản thân tôi nhưng có thể giúp người khác sử dụng VS.

Visual Studio có khái niệm về Giải pháp. Tuy nhiên, trong git, nó có khái niệm về một kho lưu trữ git được theo dõi bởi các nhánh cục bộ và từ xa. Tất cả các tệp và thư mục được thêm vào git là cục bộ.

Bây giờ quay lại Giải pháp Visual Studio khi bạn tạo một dự án mẫu chuẩn, nó sẽ tạo tất cả các dự án cục bộ cho giải pháp đó.

Vì vậy, vấn đề xảy ra khi bạn thêm một dự án không phải là cục bộ vào giải pháp hoặc git cho vấn đề đó. Điều gì xảy ra là tệp giải pháp .sln được cập nhật với vị trí dự án nhưng nội dung thực tế của dự án, tệp dự án và thư mục không thể được thêm vào git vì chúng nằm trên một thư mục riêng biệt hoặc một ổ đĩa mạng riêng biệt hoặc một máy chủ ftp nào đó vv .... Điều này có thể thích hợp hơn nếu bạn chỉ muốn tham chiếu đến tệp dự án chỉ được biên dịch trong tệp .sln hoặc bạn muốn tạo nguồn chúng để tách biệt các kho lưu trữ git hoặc github. Nhưng bạn không muốn các tệp thực được theo dõi bằng git cục bộ.

Để khắc phục điều này (tức là bạn muốn thêm chúng vào kho lưu trữ git của mình), bạn chỉ cần di chuyển các tệp từ xa quan tâm trong phạm vi của giải pháp và các tệp dự án của nó để chúng là cục bộ.


0

Đây là cách thực hiện trong Visual Studio 2015.

  1. Mở dự án và đi đến Công cụ >> Tùy chọn >> tab "Kiểm soát Nguồn" và chọn "Git" làm kiểm soát nguồn của bạn. nhập mô tả hình ảnh ở đây

  2. Đi tới Trình đơn Tệp và chọn "Thêm vào kiểm soát nguồn".

Những gì điều này thực hiện về cơ bản là thực thi "git init" bằng cách visual studio tạo ra tất cả các chuông và còi (thiết lập các tệp bỏ qua tương ứng như bỏ qua tệp cụ thể của người dùng, tệp tạm thời, thư mục, v.v.).

Về cơ bản kho lưu trữ git của bạn đã được tạo cục bộ chính xác (đây là bước chính với dự án VS vì thư mục này chứa rất nhiều tệp mà chúng tôi muốn bỏ qua).

Bây giờ bạn có thể kết nối kho lưu trữ git này với bất kỳ git nào khác như GitHub, BitBucket, v.v. trong git bash (bên ngoài Visual Studio).

Tôi bắt đầu phiên Git Bash ngay bây giờ trong thư mục làm việc này và vì tôi sử dụng BitBucket, tôi làm theo các hướng dẫn được cung cấp ở đó (chỉ cần sao chép các dòng bên dưới từ đó).

git từ xa thêm nguồn gốc https: //yourusername@bitbucket.org/yourusername/hookdemo.git

git push -u origin master

Đó là nó.

Sau đó, bạn có thể quản lý kho lưu trữ trên chính dòng lệnh git kể từ khi nó được thiết lập đúng cách.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.