Jak dodać pliki i foldery do repozytoriów GitHub?

248

Utworzyłem konto w GitHub - jestem na nim nowy - i mam problem z dodawaniem plików. Dodałem readme.txt. Mam też 3 inne pliki PHP i folder z obrazkami.

Jak dodać pliki i folder? Próbowałem z tym, git pullponieważ git push origin -u masterpokazał mi błąd.

Adnan
źródło
9
Próbowałeś oficjalnego tutoriala git ? Jest to omówione na samym początku.
jweyrich
2
Polecam książkę ProGit wersja online jest bezpłatna progit.org/book
house9
Uwaga: od grudnia 2012 r. Można tworzyć pliki bezpośrednio za pośrednictwem interfejsu internetowego GitHub. Zobacz moją odpowiedź poniżej .
VonC

Odpowiedzi:

371

Możesz dodać pliki za pomocą git add, przykład git add README, git add <folder>/*lub nawetgit add *

Następnie użyj git commit -m "<Message>"do zatwierdzenia plików

Wreszcie git push -u origin masterdo wypchnięcia plików.

Po dokonaniu modyfikacji uruchomić git statusktóry daje listę plików zmodyfikowany, dodać je za pomocą git add *wszystkiego lub można określić każdy plik osobno, a potem git commit -m <message>wreszciegit push -u origin master

Przykład - powiedzmy, że utworzyłeś plik README, bieganie git statusdaje

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

Uruchom git add README, pliki są przygotowywane do zatwierdzenia. Następnie uruchom git statusponownie, powinien dać ci - pliki zostały dodane i gotowe do zatwierdzenia.

$ 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)

Następnie uruchomić 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

Na koniec git push -u origin masterwypchnij zdalną gałąź masterdla repozytorium 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.

Pliki zostały pomyślnie wypchnięte do zdalnego repozytorium.

Uruchamianie a, git pull origin masteraby upewnić się, że wchłonąłeś wszelkie wcześniejsze zmiany

$ 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

Jeśli nie chcesz scalać wcześniejszych zmian z lokalnym repozytorium, uruchom, git fetchaby pobrać zmiany, a następnie git mergescalić zmiany. git pulljest tylko połączeniem fetchimerge .

Osobiście użyłem gitimmersion - http://gitimmersion.com/, aby uzyskać upto na git, jest to przewodnik krok po kroku, jeśli potrzebujesz dokumentacji i pomocy

First Zero
źródło
8
git add --all folder/pracował dla mnie lepiej niż dla mnie niżgit add folder/*
Alex
4
Czy to rekursywnie dodaje wszystkie pliki i foldery?
Alix
git add <folder>/*dodaje także nowe pliki.
Danijel,
49

Użytkownicy systemów Linux i MacOS:

  1. Najpierw utwórz repozytorium (Name = RepositoryName) na github.
  2. Otwórz terminal i utwórz nowy katalog (mkdir NewDirectory).
  3. Skopiuj folder ProjectFolder do tego nowego katalogu.
  4. Zmień obecny katalog roboczy na NewDirectory.
  5. Uruchom te polecenia
    1. git init
    2. git dodaj ProjectFolderName
    3. git commit -m „pierwsze zatwierdzenie”
    4. git zdalnie dodaj pochodzenie https://github.com/YourGithubUsername/RepositoryName.git
    5. git push -u origin master
Ankit Bhatia
źródło
20

Pamiętaj, że od początku grudnia 2012 r. Możesz tworzyć nowe pliki bezpośrednio z GitHub :

Utwórz nowy plik

ProTip ™ : Możesz wstępnie wypełnić pole nazwy pliku, używając tylko adresu URL.
Wpisanie ?filename=yournewfile.txtna końcu adresu URL spowoduje wstępne wypełnienie pola nazwy pliku nazwą yournewfile.txt.

re

VonC
źródło
2
Jak możesz przesłać plik, np. Obraz?
Drew Baker
@DrewBaker mechanizm opisany tutaj służy do tworzenia pliku tekstowego. W przypadku obrazu nadal trzeba będzie sklonować repozytorium GitHub, dodać obraz lokalnie, zatwierdzić i wypchnąć.
VC
Dzięki i +1 za wskazówkę dotyczącą „tworzenia nowych plików bezpośrednio z GitHub”!
zeFree,
Nie sądzę, aby internetowy interfejs użytkownika Github umożliwiał dodawanie folderów innych niż dodawanie prostych plików tekstowych, takich jak przeceny readme.
Devy
Myślę, że pytanie dotyczy sposobu przesyłania plików z komputera, a nie tworzenia plików.
Élektra
8

Jeśli chcesz dodać pusty folder, możesz dodać plik „.keep” do swojego folderu.

Wynika to z faktu, że git nie dba o foldery.

Gautier
źródło
Dokładnie takiej odpowiedzi szukałem.
Alexis Wilke
6

Musisz pobrać repozytorium na komputer lokalny. Następnie możesz zmienić ten folder na komputerze lokalnym.

git commit -am "added files"

To polecenie spowoduje zatwierdzenie wszystkich plików do repozytorium.

git push origin master

który wypchnie wszystkie zmiany w gałęzi master (którą zakładam, że używasz) do źródła zdalnego repozytorium (w tym przypadku github)

Gevious
źródło
4

Proste rozwiązanie:

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

jeśli chcesz dodać folder do istniejącego repozytorium .. następnie dodaj folder do lokalnego kodu projektu

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

po tym

git status
git commit -m "your commit"
git push -u origin master
Shashwat Gupta
źródło
2

Podczas dodawania katalogu do github sprawdź, czy katalog nie zawiera pliku .git, używając „ls -a”, jeśli go usunie. Pliki .git w katalogu powodują problemy, gdy próbujesz dodać ten katalog do git

Matt
źródło
0

Sprawdź moją odpowiedź tutaj: https://stackoverflow.com/a/50039345/2647919

„LUB, jeszcze lepiej po prostu przeciągnij i upuść” folder do repozytorium otwartego w przeglądarce git.

Otwórz swoje repozytorium w portalu internetowym, zobaczysz listę wszystkich swoich plików. Jeśli niedawno utworzyłeś repozytorium i zainicjowałeś README, zobaczysz tylko listę README.

Otwórz folder, który chcesz przesłać. przeciągnij i upuść na liście w przeglądarce. Zobacz obraz tutaj ”.

Raven Reema
źródło
0

Używam VS SSDT w systemie Windows. Rozpocząłem projekt i skonfigurowałem lokalną kontrolę wersji. Później zainstalowałem git i utworzyłem repozytorium Github. Kiedy miałem moje repozytorium na Githubie, złapałem adres URL i wstawiłem go do VS, gdy poprosił mnie o adres URL, kiedy nacisnąłem przycisk „opublikuj w Github”.

Cromastro
źródło