2014-09-03 16 views
21

Tôi đang sử dụng VS.NET 2013 với các công cụ Git tích hợp và cố gắng xuất bản chi nhánh master của mình tới một kho hiện có tôi đã thiết lập trên GitHub. Tôi đang sử dụng các công cụ VS.NET trong IDE độc quyền và xin vui lòng bất kỳ phản ứng để làm theo bằng cách sử dụng những công cụ này nếu có thể như trái ngược với một dòng lệnh.Lỗi khi xuất bản nhánh master thành GitHub từ VS.NET

Tất cả thay đổi của tôi đã được cam kết cục bộ và tôi chỉ cần xuất bản chi nhánh lên GitHub. Tuy nhiên, khi tôi cố gắng và xuất bản địa phương master chi nhánh của tôi, tôi nhận được lỗi sau:

You cannot publish local branch master to the remote repository origin because a branch with the same name already exists there. You might want to rename your local branch and try again.

Tôi biết có một bài viết dài để here này, nhưng tôi đang cố gắng để khắc phục điều này từ VS.NET hoặc trực tuyến tại GutHub trực tiếp nếu có thể. Tốt nhất là tôi muốn hiểu rõ hơn về vấn đề này.

Tôi gần như tích cực vấn đề này là do tôi chọn tùy chọn Initialize this repository with a README lựa chọn trên GitHub thay vì tạo kho trống để thay đổi cục bộ của tôi có thể được đẩy tới. Tôi nghĩ GutHub đã sử dụng cùng một tên chi nhánh và nó đang gây ra xung đột.

Tôi cho rằng tôi có thể xóa kho lưu trữ trên GitHub và bắt đầu từ đầu, nhưng hy vọng sẽ nhận được phần mềm này từ VS.NET hoặc GitHub. Có ai biết làm thế nào tôi có thể làm cho nó để chi nhánh master của tôi có thể được công bố thành công?

Trả lời

34

Vì tôi vừa tạo kho và không có người dùng, giải pháp là xóa kho lưu trữ khỏi Github (trong menu 'Cài đặt') và tạo lại (khi đã xóa tôi có thể sử dụng cùng tên). Bí quyết là để không khởi tạo kho lưu trữ từ GitHub - cho phép VS.NET thực hiện việc này vào lần đồng bộ thứ nhất. Bây giờ nó hoạt động tuyệt vời từ VS.NET.

Nếu tôi không đã xóa kho, tôi sẽ phải sử dụng một số công cụ bên ngoài để đổi tên kho lưu trữ cục bộ hoặc sử dụng đồng bộ hóa từ một công cụ khác (như TortoiseGit) cho phép bắt buộc ghi đè chi nhánh . Nó đã không xuất hiện có bất cứ điều gì bản địa để VS.NET mà sẽ cho phép điều này xảy ra.

+5

Tôi đang gặp sự cố tương tự. Thật lố bịch. Ban đầu tôi chỉ sử dụng GitHub cho Windows, vì vậy chủ nhân địa phương của tôi đã gắn liền với chủ nhân của GitHub repo của tôi. Không có lý do chính đáng để VS không chỉ đơn giản là tôn vinh thiết lập đó. –

+0

Cảm ơn bạn! Đấu tranh với điều này một chút ngay bây giờ! – pceccon

16

Có một bản sửa lỗi cho việc này:

Đi tới dấu nhắc lệnh và thay đổi thư mục giải pháp của bạn. Từ đó bạn sẽ có thể chạy lệnh git. Bạn có thể phải cài đặt git nếu bạn chưa Chạy 'git pull origin master'. Điều này sẽ hợp nhất repo GitHub của bạn với repo địa phương của bạn. Đó là tất cả những gì chúng ta phải làm từ dấu nhắc lệnh. Bây giờ quay trở lại Visual Studio

Bạn có thể nhận được một số xung đột, nếu bạn làm bạn sẽ phải giải quyết những điều này và cam kết cục bộ một lần nữa. Visual Studio sẽ cho bạn biết nếu có bất kỳ xung đột nào. Khi có bất kỳ xung đột nào được giải quyết, hãy nhấp vào liên kết 'chính' gần đầu ngăn. Nó sẽ cung cấp cho bạn một danh sách thả xuống với một mục được gọi là 'quản lý các nhánh'. Nhấp vào nó. Bạn sẽ thấy một nhánh được gọi là 'master' dưới tiêu đề 'Unpublished Branches' Nhấp chuột phải vào master và bấm vào 'Publish Branch' Bây giờ bạn có thể nhấp vào liên kết 'unynced changes' lần nữa và bạn sẽ thấy rằng 'Sync 'nút không bị mờ đi nữa Nhấp vào Đồng bộ hóa và bạn đã hoàn tất!

Nguồn & tín dụng: http://zanemayo.com/using_git_and_github_with_visual_studio.html

+0

Chỉ để đánh giá nhận xét từ OP của tôi: "Tôi biết có một bài viết dài ở đây, nhưng tôi đang cố gắng khắc phục điều này ** từ VS.NET hoặc trực tuyến tại GutHub nếu có thể **" Sử dụng dòng lệnh không phải là điều tôi muốn làm vào thời điểm đó, nhưng tôi nhận ra rằng có thể sửa nó bằng cách sử dụng nó. – atconway

3

VS 2013 sẽ khởi tạo kho GIT khi lần đầu tiên của bạn cam kết với đồng bộ. Vì vậy, giải pháp đơn giản là xóa kho GIT và tạo lại nó mà không cần khởi tạo tùy chọn.

enter image description here

+0

đẹp! làm việc như người ở!+1 – jharris8567

1

tôi có kinh nghiệm vấn đề này trong Visual Studio 2015 và đây là làm thế nào tôi đã nhận nó cố định.

  1. Kết nối với kho git địa phương của bạn Chi nhánh
  2. mở
  3. Right Click Trên nhánh chủ
  4. Chọn Mở Command Prompt
  5. Run git pull origin master (Lệnh này sẽ kéo thay đổi từ điều khiển từ xa xứ, thạc sĩ và gộp chúng vào chi nhánh đã thanh toán tại địa phương.)
  6. Xuất bản Kho lưu trữ của bạn.
+0

Một lưu ý về điều này - thẻ OP dành cho 'Visual Studio 2013' có thể có công cụ Git khác và lỗi thời so với năm 2015 cho giải pháp ở trên. – atconway

+0

oops đó là sự thật cảm ơn anyway. –

1

Tôi biết điều này là một chủ đề cũ, nhưng sau đây làm việc cho tôi: Merge từ xa theo dõi chi nhánh 'refs/điều khiển từ xa/gốc/master'

Trong VS, đi đến Đội Explorer> Chi nhánh; sau đó yêu cầu VS kết hợp nhánh từ xa của bạn với master.

Điều này dường như đã hoạt động đối với tôi. Không cần phải xóa bất cứ thứ gì, không cần sử dụng bàn điều khiển ... chúng tôi là VS devs, chúng tôi không thích console ... và không cần tải xuống của bên thứ ba (ngay cả khi một số người trong số họ rất dễ có và dễ sử dụng.)

0

Giải pháp cho tôi khá đơn giản:

Mở Git Bash trong thư mục nguồn.

thực hiện:

git push origin -f 

này đã giải quyết được vấn đề.

Vì lý do nào đó, VS2013 của tôi không thực sự tạo kho lưu trữ git khi bạn chọn hộp kiểm tạo kho lưu trữ, vì vậy tôi phải tạo kho lưu trữ theo cách thủ công.

này vấn đề tạm thời gây phiền nhiễu được giải quyết bằng cách

git init 
git remote add origin https://(bitbucket username)@bitbucket.org/(bitbucket project name)/(bitbucket repository name).git 
git add . 
git push origin -f 

Tôi biết điều này là trái với các phương pháp cơ bản của muốn chỉ sử dụng giao diện Visual Studio, nhưng có một vấn đề với VS2013 và đây là cách giải quyết cho tôi.

Các vấn đề liên quan