Cách xóa nguồn gốc từ xa khỏi repo Git


878

Tôi chỉ cần git initkhởi tạo thư mục của mình dưới dạng git repo và sau đó thêm một kho lưu trữ từ xa bằng cách sử dụng git remote add origin url. Bây giờ tôi muốn loại bỏ điều này git remote add originvà thêm một kho lưu trữ mới git remote add origin new-url. Tôi làm nó như thế nào?

Câu trả lời:


1599

Thay vì loại bỏ và thêm lại, bạn có thể làm điều này:

git remote set-url origin git://new.url.here

Xem câu hỏi này: Làm cách nào để thay đổi URI (URL) cho kho lưu trữ Git từ xa?

Để loại bỏ từ xa sử dụng này:

git remote remove origin

10
@ acannon828, giao thức cần thiết phụ thuộc vào cách bạn kết nối với git. Ví dụ được cung cấp giả định rằng bạn đang sử dụng giao thức git. Các cuốn sách git giải thích các giao thức khác nhau được hỗ trợ bởi git.
kahowell

2
Đây là câu trả lời chính xác, có một số nhầm lẫn gây ra bởi cụm từ của tiêu đề và chính câu hỏi.
Ian Lewis

3
Nếu bạn sử dụng Bitbucket thay vì github, bạn sẽ xóa phần "git: //" đầu tiên và viết trực tiếp git@bitbucket.org: yourusername / reponame.git và tất nhiên thay đổi chủ sở hữu địa điểm: "yourusername" và "reponame" với bạn .
Recom 6/2/2016

710

Nếu bạn khăng khăng xóa nó:

git remote remove origin

Hoặc nếu bạn có phiên bản Git 1.7.10 trở lên

git remote rm origin

Nhưng câu trả lời của kahowell là tốt hơn.


85
Đây là câu trả lời thực tế cho câu hỏi "làm thế nào để loại bỏ nguồn gốc từ xa khỏi git repo".
baash05

Điều gì xảy ra nếu tôi có nhiều URL được liên kết với nguồn gốc, nhưng chỉ muốn xóa một trong số chúng?
Michael

2
@Michael chính xác ý bạn là gì bởi "nhiều URL được liên kết với nguồn gốc" ? Remote được cấu hình như thế nào?
1615903

78

Để xóa một điều khiển từ xa:

git remote remove origin

Để thêm một điều khiển từ xa:

git remote add origin yourRemoteUrl

và cuối cùng

git push -u origin master

39

bạn có thể thử nó, nếu bạn muốn xóa nguồn gốc và sau đó thêm nó:

git remote remove origin

sau đó:

git remote add origin http://your_url_here

34

Tôi không đủ uy tín để nhận xét câu trả lời của @ user1615903, vì vậy hãy thêm câu này dưới dạng câu trả lời: "git remote remove" không tồn tại, nên sử dụng "rm" thay vì "remove". Vì vậy, cách chính xác là:

git remote rm origin

3
removeđã được thêm vào 1.7.12. Tôi đã cập nhật câu trả lời của tôi.
1615903

17

Bạn có thể đổi tên (thay đổi URL của kho lưu trữ từ xa) bằng cách sử dụng:

git remote set-url origin new_URL

new_URL có thể giống như https://github.com/abcdefgh/abcd.git

Xóa vĩnh viễn việc sử dụng kho lưu trữ từ xa:

git remote remove origin

11

Để đặt nguồn gốc url từ xa-

   git remote set-url origin git://new.url.here

nguồn gốc ở đây là tên url đẩy của bạn. Bạn có thể có nhiều nguồn gốc. Nếu bạn có nhiều nguồn gốc thay thế nguồn gốc như tên đó.

Để xóa nguồn gốc

   git remote rm origin/originName
   or
   git remote remove origin/originName

Để thêm nguồn gốc mới

   git remote add origin/originName git://new.url.here / RemoteUrl

8

có lẽ tôi đến muộn bạn có thể sử dụng git remote remove originnó sẽ làm công việc.


7

Một phương pháp khác

Hủy kho lưu trữ git cục bộ

rm -rf .git

Sau đó; Tạo git repostory một lần nữa

git init

Sau đó; Lặp lại kết nối repo từ xa

git remote add origin REPO_URL

làm việc như một cơ duyên đối với tôi Đó không phải là cách làm đẹp nhất, nhưng git remote rm không hoạt động ... và đề xuất tại trang github cũng không hoạt động. Cảm ơn
Samuel Aiala Ferreira

Nhưng sau đó bạn mất tất cả lịch sử, phải không? trong trường hợp đó, tại sao không lấy mã từ kho lưu trữ khác / mới?
RobMac

1
vâng, nó loại bỏ toàn bộ lịch sử. @Yasin nên thêm một số loại cảnh báo với câu trả lời.
Amrit Shrestha

3

đầu tiên sẽ thay đổi url đẩy từ xa

git remote set-url --push origin https://newurl

thứ hai sẽ thay đổi tìm nạp url từ xa

git remote set-url origin https://newurl

2

Bạn có thể vào thư mục .git , chỉnh sửa tệp cấu hình mà không cần sử dụng các lệnh.

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.