2011-07-31 77 views
62

Tôi mới dùng Git/Github và tôi cần trợ giúp. Tôi muốn đổi tên tệp từ README thành README.md. Tôi chỉ có một repo được gọi là "thay đổi-z-index".Đổi tên tệp bằng Git

1) Tôi mở và đăng nhập như thế:

ssh -T [email protected] 

Và tôi nhập mật khẩu của tôi.

2) Tôi cố gắng để đổi tên tập tin như thế:

git mv README README.md 
git commit -m "renamed" 
git push origin master 

Nó mang lại cho tôi một lỗi nói nguồn xấu.

Tôi nghĩ rằng tôi cần phải chọn repo của mình trước ... tên của nó là "change-z-index". Tôi đã đọc hướng dẫn sử dụng nhiều lần, nhưng vẫn không thể hiểu làm thế nào để làm điều đó.

+0

Có phải 'README' chắc chắn nằm trong tầm kiểm soát của git không? Lỗi bạn đang nhận được cho thấy rằng 'README' không tồn tại hoặc nó không nằm trong chỉ mục của git. –

+0

@Charles Bailey Tôi có thể xem tệp readme trong repo của mình khi tôi truy cập trang web Github của tôi –

+0

Tôi không quen với chi tiết của github, nhưng bạn đang cố đổi tên tệp, trên bản sao cục bộ hoặc trên chính máy chủ github ? –

Trả lời

108

Theo như tôi có thể nói, GitHub không cung cấp quyền truy cập shell, vì vậy tôi tò mò về cách bạn quản lý để đăng nhập ở nơi đầu tiên.

$ ssh -T [email protected] 
Hi username! You've successfully authenticated, but GitHub does not provide 
shell access. 

Bạn phải sao chép kho lưu trữ cục bộ, thực hiện thay đổi ở đó và đẩy thay đổi vào GitHub.

$ git clone [email protected]:username/reponame.git 
$ cd reponame 
$ git mv README README.md 
$ git commit -m "renamed" 
$ git push origin master 
+11

Chỉ cần thêm cho noobs như bản thân mình rằng _using 'git mv' tự động đổi tên tập tin trên máy tính của bạn. Tôi đã thử lưu tệp dưới dạng tên khác trước tiên bằng cách sử dụng 'git mv' và đã gặp lỗi 'fatal: destination exist' do lỗi lầm ngớ ngẩn này. – MichaelChirico

25

Bạn có thể đổi tên một tập tin sử dụng git 's mv lệnh:

$ git mv file_from file_to 

Ví dụ:

$ git mv helo.txt hello.txt 

$ git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# renamed: helo.txt -> hello.txt 
# 

$ git commit -m "renamed helo.txt to hello.txt" 
[master 14c8c4f] renamed helo.txt to hello.txt 
1 files changed, 0 insertions(+), 0 deletions(-) 
rename helo.txt => hello.txt (100%) 
+1

Nó cho tôi một lỗi: nguồn xấu, nguồn = README, đích = README.md –

+0

Bạn đang cố gắng đổi tên nó trên repo github.com, hoặc repo địa phương của bạn? – jaredwilli

+0

Nếu bạn đang cố gắng đổi tên nó trên github, thì bạn cần xóa nó khỏi repo cục bộ, $ rm file_name. thực hiện một cam kết, sau đó thêm lại tệp đó vào repo dưới tên bạn muốn thay đổi nó và cam kết điều đó. Các tệp nguồn và đích không khớp với nhau nên nó bị lỗi. Tôi nghĩ rằng đó là những gì nó là anyways ... – jaredwilli

3

Thực hiện git status để tìm hiểu xem tập tin của bạn thực sự là chỉ số của bạn hoặc cam kết.

Thật dễ dàng khi người mới bắt đầu hiểu sai về khu vực chỉ mục/dàn dựng.

Tôi xem nó như là một 'pinboard tiến bộ'. Do đó, tôi phải add tệp vào ghim trước khi tôi có thể commit nó (tức là bản sao của pinboard hoàn chỉnh), tôi phải cập nhật ghim khi được yêu cầu và tôi cũng phải cố tình xóa tệp khỏi nó khi tôi đã hoàn tất chúng - chỉ cần tạo, chỉnh sửa hoặc xóa tệp không ảnh hưởng đến ghim. Nó giống như 'kịch bản'.

Chỉnh sửa: Như những người khác đã lưu ý, Bạn nên thực hiện các chỉnh sửa cục bộ và sau đó đẩy repo được cập nhật, thay vì cố chỉnh sửa trực tiếp trên github.

1

Bạn có "Trạng thái xấu" vì tệp đích không thể tìm thấy hoặc không có, ví dụ: bạn gọi tệp README không nằm trong thư mục hiện tại.

+0

Thực ra đây là vấn đề của tôi. Tôi đã quên thay đổi thư mục hiện tại đến nơi tệp được đặt. – TheIT

41

Lưu ý rằng, từ ngày 15 tháng ba năm 2013, bạn có thể move or rename a file directly from GitHub:

(bạn thậm chí không cần phải sao chép rằng repo, git mv xxgit push trở lại GitHub!)

renaming

You can also move files to entirely new locations using just the filename field.
To navigate down into a folder, just type the name of the folder you want to move the file into followed by / .
The folder can be one that’s already part of your repository, or it can even be a brand-new folder that doesn’t exist yet!

moving

+3

Chỉ hoạt động đối với tệp có thể được GitHub chỉnh sửa. Không dành cho các tệp như tệp hình ảnh. – A9S6

+0

@ A9S6 Đúng vậy, điều đó có ý nghĩa, vì nội dung của chúng không được hiển thị (dưới dạng văn bản). – VonC

+4

Có nhưng ít nhất phải đổi tên tên của họ nên được cho phép :) – A9S6

3

Tôi đã có một vấn đề tương tự trải qua một hướng dẫn.

# git mv README README.markdown 

gây tử vong: bad nguồn, source = README, destination = README.markdown

tôi bao gồm các filetype trong file nguồn:

# git mv README.rdoc README.markdown 

và nó làm việc một cách hoàn hảo. Đừng quên cam kết các thay đổi với số:

# git commit -a -m "Improved the README" 

Đôi khi nó là những điều đơn giản như thế, khiến chúng tôi bực mình. LOL

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