Làm cách nào để đổi tên kho lưu trữ Git?


433

git mvđổi tên một tập tin hoặc thư mục trong một kho lưu trữ. Làm cách nào để đổi tên chính kho lưu trữ Git?


1
Tôi đã thử sử dụng mvđể đổi tên PROJ0.git trong 'máy chủ lưu trữ', nó hoạt động. Nhưng tôi không biết liệu nó có đúng không, ý tôi là hợp lệ.
Yantao Xie

5
Câu hỏi của bạn là tốt. Git có các kho lưu trữ và chúng có thể chứa các dự án như các dự án Eclipse nếu bạn quyết định đặt dự án của mình vào kho lưu trữ git. Nếu đó là những gì bạn muốn thì hãy xem làm thế nào trong phần anwswer dưới đây.
Daniel Remington - OMS

3
gitchính nó không có quy định để chỉ định tên kho lưu trữ. Tên thư mục gốc là nguồn duy nhất liên quan đến tên kho lưu trữ. Các .git/descriptiontập tin mặc dù chỉ được sử dụng bởi một số ứng dụng nhưGitweb
Ujjwal Singh

Câu trả lời:


620

Có nhiều cách hiểu khác nhau về ý nghĩa của việc đổi tên một kho lưu trữ Git: tên được hiển thị, thư mục kho lưu trữ hoặc tên kho lưu trữ từ xa. Mỗi yêu cầu các bước khác nhau để đổi tên.

Tên hiển thị

Đổi tên tên được hiển thị (ví dụ: hiển thị bởi gitweb):

  1. Chỉnh sửa .git/descriptionđể chứa tên của kho lưu trữ.
  2. Lưu các tập tin.

Thư mục lưu trữ

Git không tham chiếu tên của thư mục chứa kho lưu trữ, như được sử dụng bởi git clone master child, vì vậy chúng ta chỉ cần đổi tên nó:

  1. Mở một dấu nhắc lệnh (hoặc cửa sổ trình quản lý tệp).
  2. Thay đổi thư mục chứa thư mục kho lưu trữ (nghĩa là không đi vào thư mục kho lưu trữ).
  3. Đổi tên thư mục (ví dụ: sử dụng mvtừ dòng lệnh hoặc F2phím nóng từ GUI).

Kho lưu trữ từ xa

Đổi tên một kho lưu trữ từ xa như sau:

  1. Truy cập máy chủ từ xa (ví dụ: https://github.com/User/project ).
  2. Làm theo hướng dẫn của chủ nhà để đổi tên dự án (sẽ khác với máy chủ đến máy chủ, nhưng thông thường Cài đặt là điểm khởi đầu tốt).
  3. Chuyển đến thư mục kho lưu trữ cục bộ của bạn (nghĩa là mở dấu nhắc lệnh và thay đổi thư mục của kho lưu trữ).
  4. Xác định URL mới (ví dụ git@github.com:User/project-new.git:)
  5. Đặt URL mới bằng Git:

    git remote set-url origin git@github.com:User/project-new.git
    

3
Trong trường hợp thứ hai, điều gì xảy ra với bất kỳ ai đã nhân bản kho lưu trữ?
Frederico Schardong

3
Không co gi xâu cả. Họ giữ lại tên ban đầu, nhưng điều khiển từ xa của họ hiện đã sai: nếu họ muốn kéo các bản cập nhật, họ cần kết nối với tên mới. Nếu cả bạn và họ đang đồng bộ hóa hoặc một kho lưu trữ trung tâm, nó sẽ giữ nguyên tên gốc và mọi thứ sẽ tiếp tục hoạt động
Alex Brown

14
Lưu ý rằng khẳng định "git không tham chiếu tên thư mục này" trong trường hợp thứ hai là sai nếu bạn sử dụng các mô hình con: git sử dụng một đường dẫn tuyệt đối để tham chiếu các mô hình con, vì vậy việc đổi tên thư mục kho lưu trữ của bạn sẽ phá vỡ các mô hình con. Xem stackoverflow.com/questions/10144149/ khăn
Edward

Tôi đang sử dụng GitHub cho Windows GUI và tôi không phải thay đổi tệp .git / mô tả (tôi không có tệp này). Tên hiển thị trong GUI đã thay đổi sau khi tôi thực hiện bước cuối cùng để đặt lại gốc.
Joe Ernst

4
Mọi người cứ nhắc đến .git / mô tả, nhưng không đề cập đến thay đổi nào bạn thực sự đặt vào đó để đổi tên repo
Lập trình viên Unextraordinair

24

Kho lưu trữ Git không có tên. Bạn chỉ có thể đổi tên thư mục chứa worktree của bạn nếu bạn muốn.


7
Vâng, một repo git có một tên. Tôi đã gặp lỗi này sau khi đổi tên:$ git status fatal: Not a git repository: C:/xxx/.git/xxx fatal: git status --porcelain failed
Sawny

@Sawny, tôi không thấy những gì phải làm với bất cứ điều gì.
Tobu

19
Bạn nói rằng một git repo không có tên, nhưng điều đó không đúng. Nếu bạn sử dụng mô hình con và chỉ cần đổi tên thư mục, bạn sẽ gặp lỗi từ git. Xem stackoverflow.com/questions/9878860/
Mạnh

6
Được rồi, đường dẫn của mô hình con trong kho git có vấn đề. Đó là sự thật nhưng không liên quan đến câu hỏi cụ thể này.
Tobu

5
Tất nhiên các kho lưu trữ có một tên. Xem bên dưới làm thế nào để thay đổi nó.
Daniel Remington - OMS

19

Đổi tên PRJ0.gitthành PROJ1.git, sau đó chỉnh sửa biến URL nằm trong .git/configtệp của dự án của bạn.


15

Trong một kho lưu trữ mới, chẳng hạn, sau một $ git init, thư mục .git sẽ chứa tệp .git / description.

Trông như thế này:

Unnamed repository; edit this file 'description' to name the repository.

Chỉnh sửa này trên kho lưu trữ cục bộ sẽ không thay đổi nó trên điều khiển từ xa.


Câu trả lời của Alex Brown đã bao gồm của bạn.
Yantao Xie

13

Nếu bạn muốn đổi tên kho lưu trữ của mình, hãy truy cập kho lưu trữ của bạn và nhấp vào "quản trị viên", sau đó đổi tên.

Một khi bạn thấy hộp màu đỏ cảnh báo bạn về một số bầu trời và những thứ khác, hãy đọc câu hỏi này .


12
Có thể giúp người khác lưu ý rằng đây là đề xuất dành riêng cho Github và nói chung sẽ không áp dụng cho Git.
Founddrama

1
kể từ tháng 1 năm 2013, các hướng dẫn của github sẽ là: (được đăng nhập vào github), truy cập repo của bạn, sau đó chuyển đến "Cài đặt" >> "Tùy chọn" và tìm nút Đổi tên ở đó. Liên quan đến các cảnh báo màu đỏ về những điều tồi tệ xảy ra, Droogans liên kết với người khác vì vậy câu hỏi vẫn rất được khuyến khích.
hại

12

Để đổi tên bất kỳ kho lưu trữ nào trong tài khoản GitHub của bạn:

  1. Chuyển đến kho lưu trữ cụ thể mà bạn muốn đổi tên
  2. Điều hướng đến tab cài đặt
  3. Ở đó, trong phần tên kho lưu trữ, nhập tên mới bạn muốn đặt và nhấp vào Rename

Không phải là một câu hỏi GitHub, đây là về git.
robrecord

10

Nếu bạn đang sử dụng GitLab hoặc GitHub, thì bạn có thể sửa đổi các tệp đó bằng đồ họa.

Sử dụng GitLab

Chuyển đến Cài đặt dự án của bạn . Ở đó bạn có thể sửa đổi tên của dự án và quan trọng nhất là bạn có thể đổi tên kho lưu trữ của mình (đó là khi bạn bắt đầu vào phần nguy hiểm).

Khi điều này được thực hiện, cấu hình máy khách cục bộ phải được cập nhật bằng

git remote set-url origin sshuser@gitlab-url:GROUP/new-project-name.git

9
  • Về phía máy chủ, chỉ cần đổi tên kho lưu trữ bằng lệnh mv như bình thường:

    mv oldName.git newName.git
    
  • Sau đó, về phía khách hàng, thay đổi giá trị của [remote "origin"]URL thành một cái mới:

    url=example.com/newName.git
    

Nó làm việc cho tôi.


8

Nếu bạn đang ở trong Eclipse và đã cài đặt Egit thì bạn có thể đổi tên kho lưu trữ chứa dự án bằng cách thực hiện như sau:

1) Trong Eclipse : Đóng tất cả các dự án trong kho lưu trữ.

2) Trong hệ thống tập tin : Xác định vị trí thư mục / thư mục chứa kho lưu trữ.

3) Trong hệ thống tập tin : Đổi tên thư mục / thư mục chứa kho lưu trữ.

4) Trong hệ thống tệp : Mở thư mục / thư mục chứa kho lưu trữ và đổi tên thư mục dự án / thư mục của bất kỳ dự án nào bạn định đổi tên để nó sẽ khớp với tên mới của dự án. (Điều này là không bắt buộc nhưng nó mang lại sự thống nhất giữa tên dự án trong Eclipse và thư mục / thư mục dự án trong kho lưu trữ.)

5) Trong Eclipse : Xóa tất cả các dự án trong kho lưu trữ nhưng đảm bảo KHÔNG kiểm tra hộp kiểm 'Xóa nội dung khỏi hệ thống tệp'. (Dự án không còn chứa vị trí chính xác của nội dung của hệ thống tệp để dữ liệu không thể bị xóa trong mọi trường hợp nhưng tốt hơn là an toàn hơn xin lỗi.)

6) Trong Eclipse : Từ Menu chọn tùy chọn Tệp | Nhập ....

7) Trong Eclipse : Trong hộp thoại mở thư mục 'Git', chọn 'Project from Git' và nhấp vào 'Next'.

8) Trong Eclipse : Trong hộp thoại chọn 'Local' và bấm 'Next'.

9) Trong Eclipse : Trong hộp thoại, nhấp vào nút 'Thêm ...'.

10) Trong Eclipse : Trong hộp thoại, đảm bảo hộp kiểm bên cạnh kho được chọn và bấm vào 'Hoàn tất'.

11) Trong Eclipse : Trong hộp thoại chọn kho lưu trữ và nhấp vào 'Tiếp theo'.

12) Trong Eclipse : Trong hộp thoại chọn nút radio 'Nhập dự án hiện có', chọn "Thư mục làm việc" và nhấp vào 'Tiếp theo'.

13) Trong Eclipse : Trong hộp thoại, chọn hộp kiểm bên cạnh các dự án bạn muốn làm việc và nhấp vào 'Hoàn tất'.

14) Trong Eclipse : Đổi tên bất kỳ dự án nào trong kho nếu muốn. (Để thống nhất giữa Eclipse và hệ thống tệp, đặt cho chúng cùng tên với thư mục / thư mục dự án bên trong thư mục / thư mục kho lưu trữ.)


+1 (thích thú và không ngạc nhiên với 14 bước cần thiết cho điều này trong Eclipse, đặc biệt là 'nếu bạn đã cài đặt Egit', kéo theo vài chục bước nữa ...)
Jack Wasey

7

Bản thân Git không có quy định để chỉ định tên kho lưu trữ. Tên của thư mục gốc là nguồn sự thật duy nhất liên quan đến tên kho lưu trữ.

Các .git/descriptionmặc dù chỉ được sử dụng bởi một số ứng dụng, như GitWeb .


5

Đối với người dùng Amazon AWS codecommit ,

aws codecommit update-repository-name --old-name MyDemoRepo --new-name MyRenamedDemoRepo

Tham khảo: tại đây


4

Để đơn giản, chỉ cần loại bỏ Dự án Eclipse đó (không chọn nội dung trên đĩa), sau đó nhập lại dự án một lần nữa.

Eclipse sẽ xác định dự án được kết nối với Git và đặt nó trong khung nhìn phối cảnh Git.

Nó hoạt động như một say mê.


5
Điều này không trả lời câu hỏi ban đầu.
mjuarez

Câu trả lời này có phải là nhận xét cho câu trả lời của Daniel Remington - OMS không?
Peter Mortensen

4

Với Github là điều khiển từ xa của bạn

Đổi tên từ xa Repo trên Github

Về kho lưu trữ từ xa, nếu bạn đang sử dụng Github hoặc Github Enterprise làm vị trí máy chủ để lưu / phân phối kho lưu trữ của bạn từ xa, bạn chỉ cần đổi tên trực tiếp kho lưu trữ trong cài đặt repo.

Từ trang repo chính, tab cài đặt ở bên phải và tên repo là mục đầu tiên trên trang:

nhập mô tả hình ảnh ở đây

Github sẽ chuyển hướng yêu cầu đến URL mới

Một tính năng rất hay trong Github khi bạn đổi tên repo, đó là Github sẽ lưu tên repo cũ và tất cả các URL liên quan và chuyển hướng lưu lượng truy cập sang các URL mới . Vì tên người dùng / tên org và tên repo của bạn là một phần của URL, nên việc đổi tên sẽ thay đổi URL.

Vì Github lưu tên repo cũ và chuyển hướng yêu cầu đến các URL mới, nếu bất kỳ ai sử dụng các liên kết dựa trên tên repo cũ khi cố gắng truy cập các vấn đề, wiki, ngôi sao hoặc người theo dõi, họ vẫn sẽ đến vị trí mới trên trang web Github. Github cũng chuyển hướng cấp dưới lệnh Git thích git clone, git fetchvv

Thông tin thêm có trong Trợ giúp Github để đổi tên Repo

Đổi tên tên Repo cục bộ

Như những người khác đã đề cập, "tên" cục bộ của repo của bạn thường được coi là tên thư mục / thư mục gốc và bạn có thể thay đổi, di chuyển hoặc sao chép thư mục vào bất kỳ vị trí nào và nó sẽ không ảnh hưởng đến repo.

Git được thiết kế để chỉ lo lắng về các tập tin trong thư mục gốc.


"Nếu bất cứ ai sử dụng các liên kết dựa trên tên repo cũ ... họ vẫn sẽ đến địa điểm mới trên trang web của Github". Vâng, có một tính năng như vậy. Điều tương tự cũng hợp lệ đối với BitBucket: Community.atlassian.com/t5/Bitbucket-questions/ . Sẽ thật tuyệt khi biết cách phá hủy hoàn toàn bất kỳ tham chiếu nào đến tên cũ, bởi vì theo tôi hiểu thì nó không phải là đổi tên, mà là sao chép. Sẽ rất tốt nếu biết thủ tục chính xác cho việc đổi tên đầy đủ (với việc phá hủy tất cả các công cụ cũ).
Alexander Samoylov

@AlexanderSamoylov Tôi chỉ đoán ở đây, nhưng tôi thực sự nghi ngờ bất cứ điều gì được lưu ở định dạng cũ. Github chỉ nên giữ tên lưu trữ cũ được bảo lưu và chuyển hướng bất kỳ lưu lượng truy cập nào có trong tên lưu trữ cũ sang tên lưu trữ mới. tức là https://github.com/oldrepo/some_pathsẽ chỉ chuyển hướng đến https://github.com/newrepo/some_path, nơi mọi thứ đã được chuyển đến. Nhược điểm duy nhất là tên repo cũ được bảo lưu vĩnh viễn để không thể sử dụng lại (cũng tốt để tránh những người đã lưu url cũ truy cập vào nó).
LightCC

3

Thay đổi tên chính là ở đây (img 1), nhưng cũng thay đổi readme.md (img 2)

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


7
Câu hỏi là về git chứ không phải github.
Yantao Xie

đã không đổi tên, như thế này
Manjitha teshara


0

Mở kho git trên trình duyệt, vào "Thanh toán", bạn có thể thấy nút đổi tên.

Nhập "Tên kho lưu trữ" mới và nhấp vào nút "Đổi tên".


0

Thay vào đó, bạn đã thử thay đổi tên dự án của mình package.jsonvà thực hiện lệnh git initđể khởi tạo lại Git hiện tại chưa?

Lịch sử Git hiện tại của bạn sẽ vẫn tồn tại.


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.