2012-01-08 31 views
178

Tôi đã tạo một tài khoản trên GitHub — Tôi mới ở trên đó — và tôi đang gặp sự cố khi thêm tệp. Tôi đã thêm readme.txt. Ngoài ra, tôi có 3 tập tin PHP khác và một thư mục bao gồm cả hình ảnh.Làm cách nào để thêm tệp và thư mục vào GitHub repos?

Làm cách nào để thêm tệp và thư mục? Tôi đã thử nó với git pullgit push origin -u master đã cho tôi thấy lỗi.

+7

Đã thử [hướng dẫn git chính thức] (http://schacon.github.com/git/gittutorial.html)? Điều này được bảo hiểm tại rất beggining. – jweyrich

+2

Tôi giới thiệu sách ProGit phiên bản trực tuyến miễn phí http://progit.org/book/ – house9

+0

Lưu ý: từ tháng 12 năm 2012, bạn có thể tạo tệp trực tiếp thông qua giao diện web GitHub. Xem [câu trả lời của tôi dưới đây] (http://stackoverflow.com/a/13765502/6309). – VonC

Trả lời

287

Bạn có thể thêm các tập tin bằng cách sử git add, ví dụ git add README, git add <folder>/*, hoặc thậm chí git add *

Sau đó sử dụng git commit -m "<Message>" commit những file

Cuối cùng git push -u origin master để đẩy file.

Khi bạn thực hiện điều chỉnh chạy git status mà cung cấp cho bạn danh sách các tập tin sửa đổi, bổ sung chúng bằng cách sử git add * cho tất cả mọi thứ hoặc bạn có thể chỉ định từng file riêng lẻ, sau đó git commit -m <message> và cuối cùng, git push -u origin master

Ví dụ - nói rằng bạn tạo ra một tập tin README, chạy git status cung cấp cho bạn

$ git status 
# On branch master 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# README 

Chạy git add README, các tệp được dàn dựng để cam kết. Sau đó chạy lại git status, nó sẽ cung cấp cho bạn - các tệp đã được thêm và sẵn sàng cho cam kết.

$ git status 
# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# new file: README 
# 

nothing added to commit but untracked files present (use "git add" to track) 

Sau đó chạy git commit -m 'Added README'

$ git commit -m 'Added README' 
[master 6402a2e] Added README 
    0 files changed, 0 insertions(+), 0 deletions(-) 
    create mode 100644 README 

Cuối cùng, git push -u origin master để đẩy chi nhánh từ xa master cho kho origin.

$ git push -u origin master 
Counting objects: 4, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (2/2), done. 
Writing objects: 100% (3/3), 267 bytes, done. 
Total 3 (delta 1), reused 0 (delta 0) 
To [email protected]:xxx/xxx.git 
    292c57a..6402a2e master -> master 
Branch master set up to track remote branch master from origin. 

Các tệp đã được đẩy thành công vào kho lưu trữ từ xa.

Chạy một git pull origin master để đảm bảo bạn đã hấp thụ bất kỳ thay đổi ở thượng nguồn

$ git pull origin master 
remote: Counting objects: 12, done. 
remote: Compressing objects: 100% (4/4), done. 
remote: Total 8 (delta 4), reused 7 (delta 3) 
Unpacking objects: 100% (8/8), done. 
From xxx.com:xxx/xxx 
* branch   master  -> FETCH_HEAD 
Updating e0ef362..6402a2e 
Fast-forward 
public/javascript/xxx.js | 5 ++--- 
1 files changed, 2 insertions(+), 3 deletions(-) 
create mode 100644 README 

Nếu bạn không muốn kết hợp những thay đổi ở thượng nguồn với kho địa phương của bạn, hãy chạy git fetch để lấy những thay đổi và sau đó git merge để trộn các thay đổi . git pull chỉ là kết hợp của fetchmerge.

Tôi có cá nhân sử dụng gitimmersion - http://gitimmersion.com/ để có được tối đa đường cong trên git, nó là một hướng dẫn từng bước, nếu bạn cần một số tài liệu hướng dẫn và giúp

+1

http://gitimmersion.com/ thật tuyệt vời, cảm ơn. – Azoreo

+7

'git add --all folder /' làm việc tốt hơn cho tôi hơn 'git add folder/*' – Alex

+2

Điều đó có thêm tất cả các tập tin và thư mục đệ quy không? – Alix

6

Bạn cần phải kiểm tra các kho lưu trữ vào máy tính cục bộ của bạn. Sau đó, bạn có thể thay đổi thư mục đó trên máy cục bộ của bạn.

git commit -am "added files" 

Lệnh đó sẽ cam kết tất cả các tệp vào repo.

git push origin master 

rằng sẽ đẩy tất cả những thay đổi trong chi nhánh chủ của bạn (mà tôi giả định là một trong những bạn đang sử dụng) về nguồn gốc kho từ xa (trong trường hợp này github)

19

Lưu ý rằng kể từ đầu tháng 12 năm 2012, bạn có thể tạo new files directly from GitHub:

Create new File

ProTip: Bạn có thể trước khi điền vào các lĩnh vực tên tập tin sử dụng chỉ URL.
Nhập ?filename=yournewfile.txt ở cuối URL sẽ điền trước trường tên tệp có tên yournewfile.txt.

d

+2

Làm cách nào để tải lên tệp, chẳng hạn như hình ảnh? –

+0

@DrewBaker cơ chế mô tả ở đây là để tạo tệp văn bản. Đối với hình ảnh, bạn vẫn sẽ cần phải sao chép một repo GitHub, thêm hình ảnh tại địa phương, cam kết và đẩy. – VonC

+0

Cảm ơn và +1 về mẹo "tạo tệp mới trực tiếp từ GitHub"! – zeFree

35

Đối với người dùng Linux và MacOS:

  1. Trước tiên hãy kho (Tên = RepositoryName) trên github.
  2. Mở thiết bị đầu cuối và tạo thư mục mới (mkdir NewDirectory).
  3. Sao chép ProjectFolder của bạn vào NewDirectory này.
  4. Thay đổi thư mục công việc hiện tại thành NewDirectory.
  5. Chạy các lệnh
    1. git init
    2. git add ProjectFolderName
    3. git commit -m "đầu tiên cam kết"
    4. git remote thêm nguồn gốc https://github.com/YourGithubUsername/RepositoryName.git
    5. git push -u bậc thầy gốc
1

Khi nào thêm một thư mục để github kiểm tra thư mục không chứa tệp .git bằng cách sử dụng "ls -a" nếu nó loại bỏ nó. Các tệp .git trong một thư mục sẽ gây ra sự cố khi bạn đang cố gắng thêm thư mục đó vào git

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