Làm cách nào để thêm tệp và thư mục vào repos GitHub?


248

Tôi đã tạo một tài khoản trên GitHub - Tôi mới sử dụng tài khoản này - và tôi đang gặp vấn đề với việc thêm tệp. Tôi đã thêm readme.txt. Ngoài ra, tôi có 3 tệp PHP khác và một thư mục bao gồm hình ảnh.

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


9
Đã thử hướng dẫn git chính thức ? Điều này được bao phủ tại rất ăn xin.
jweyrich

2
Tôi giới thiệu cuốn sách ProGit phiên bản trực tuyến là progit.org/book
house9

Lưu ý: kể 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 .
VonC

Câu trả lời:


371

Bạn có thể thêm các tập tin sử dụng 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>"để cam kết tập tin

Cuối cùng git push -u origin masterđể đẩy tập tin.

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

Ví dụ - giả sử bạn đã tạo một tệp README, việc chạy git statusmang lại 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 tin được dàn dựng để cam kết. Sau đó chạy git statuslại, nó sẽ cung cấp cho bạn - các tệp đã được thêm và sẵn sàng để 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 mastercho kho lưu trữ 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 xxx@xxx.com:xxx/xxx.git
   292c57a..6402a2e  master -> master
Branch master set up to track remote branch master from origin.

Các tập tin đã đượ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 ngược dòng nào

$ 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 hợp nhất các thay đổi ngược dòng với kho lưu trữ cục bộ của mình, hãy chạy git fetchđể tìm nạp các thay đổi và sau đó git mergeđể hợp nhất các thay đổi. git pullchỉ là sự kết hợp của fetchmerge.

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


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

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

git add <folder>/*thêm các tập tin mới quá.
Danijel

49

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

  1. Đầu tiên tạo kho lưu trữ (Name = Rep repositoryName) trên github.
  2. Mở terminal 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 này
    1. git init
    2. git thêm ProjectFolderName
    3. git commit -m "cam kết đầu tiên"
    4. git từ xa thêm nguồn gốc https://github.com/YourGithubUsername/Rep repositoryName.git
    5. git đẩy -u nguồn gốc

20

Lưu ý rằng kể từ đầu tháng 12 năm 2012, bạn có thể tạo các tệp mới trực tiếp từ GitHub :

Tạo tập tin mới

ProTip ™ : Bạn có thể điền trước trường tên tệp chỉ bằng URL.
Nhập ?filename=yournewfile.txtvào cuối URL sẽ điền trước tên trường tên với tên yournewfile.txt.

d


2
Làm thế nào bạn có thể tải lên một tập tin, như một hình ảnh?
Drew Baker

@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 sao chép một repo GitHub, thêm hình ảnh cục bộ, cam kết và đẩy.
VonC

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

Tôi không tin UI web Github đã cung cấp một cách để thêm các thư mục ngoài việc thêm các tệp văn bản đơn giản như readme markdowns.
Devy

Tôi nghĩ rằng câu hỏi là hỏi làm thế nào để TẢI các tệp từ máy tính của bạn chứ không phải cách tạo tệp.
Élektra

8

Nếu bạn muốn thêm một thư mục trống, bạn có thể thêm tệp '.keep' trong thư mục của mình.

Điều này là do git không quan tâm đến các thư mục.


Chính xác câu trả lời tôi đang tìm kiếm.
Alexis Wilke

6

Bạn cần kiểm tra kho lưu trữ trên máy 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 tin vào repo.

git push origin master

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


4

Giải pháp đơn giản:

git init
git add =A
git commit -m "your commit"
git push -u origin master

nếu bạn muốn thêm thư mục vào repo hiện có .. hãy thêm thư mục vào mã dự án cục bộ

git rm --cached ./folderName
 git add ./folderName

sau đó

git status
git commit -m "your commit"
git push -u origin master

2

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


0

Kiểm tra câu trả lời của tôi ở đây: https://stackoverflow.com/a/50039345/2647919

"HOẶC, thậm chí tốt hơn chỉ là" kéo và thả "thư mục, vào kho lưu trữ của bạn được mở trong trình duyệt git.

Mở kho lưu trữ của bạn trong cổng thông tin web, bạn sẽ thấy danh sách tất cả các tệp của bạn. Nếu bạn vừa mới tạo repo và bắt đầu với README, bạn sẽ chỉ thấy danh sách README.

Mở thư mục của bạn mà bạn muốn tải lên. kéo và thả vào danh sách trong trình duyệt. Xem hình ảnh ở đây . "


0

Tôi đang sử dụng VS SSDT trên Windows. Tôi bắt đầu một dự án và thiết lập kiểm soát phiên bản địa phương. Sau đó tôi đã cài đặt git và tạo một repo Github. Khi tôi có repo trên Github, tôi đã lấy URL và đặt nó vào VS khi nó hỏi tôi URL khi tôi nhấn nút "xuất bản lên Github".

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.