De hele map recursief toevoegen aan een repository

Ik probeer een branch toe te voegen aan de master branch op GitHub en een map naar die branch te pushen.

De mappenstructuur van de branch ziet eruit als –
SocialApp/SourceCode/DevTrunk/SocialApp en alle broncodebestanden staan in de laatste map.

Ik gebruik de volgende Git-commando’s:

git add *
git commit -m with the message
git push

Hierdoor wordt alleen de eerste map “SocialApp” naar GitHub gepusht en wordt de map SourceCode in de map genegeerd. Hoe los ik dit op?


Antwoord 1, autoriteit 100%

Controleer het bestand .gitignoreals de submap wordt genegeerd.

Probeer het dan opnieuw

git add --all
git commit -am "<commit message>"
git push

Antwoord 2, autoriteit 14%

INSTELLEN

  • lokale repository op een lokale server
  • client is via LAN verbonden met de lokale server

UPDATE(sep 2020):gebruik foldername/\*in plaats van foldername/\\*:

git add foldername/\*

Om de server te bereiken…

git commit -m "comments..."
git push remote_server_name master

Meestal zullen gebruikers remote_server_name toewijzen als oorsprong…

git remote add remote_server_name username@git_server_ip:/path/to/git_repo

Antwoord 3, autoriteit 10%

Dit werkte voor mij:

git add . --force

Antwoord 4, autoriteit 5%

In mijn geval was er een .git-map in de submap omdat ik daar eerder een git-repo had geïnitialiseerd. Toen ik de subdirectory toevoegde, voegde het deze gewoon toe als een subproject zonder een van de aanwezige bestanden toe te voegen.

Ik heb het probleem opgelost door de git-repository uit de submap te verwijderen en de map vervolgens opnieuw toe te voegen.


Antwoord 5, autoriteit 4%

Zowel “git add *” als “git add SocialApp” aangeroepen vanuit de bovenste map zouden recursief alle mappen moeten toevoegen.

Waarschijnlijk heb je geen bestanden in SocialApp/SourceCode/DevTrunk/SocialApp en dit is de reden.

Probeer “touch SocialApp/SourceCode/DevTrunk/SocialApp/.temporary” aan te roepen (en vink .gitignore aan) en probeer git add opnieuw.


Antwoord 6, autoriteit 2%

Ik heb gewoon dit gebruikt:

git add app/src/release/*

Je hoeft alleen maar de map op te geven die je wilt toevoegen en dan *gebruiken om alles recursief toe te voegen.


Antwoord 7, autoriteit 2%

Als u recursief een map en alle bestanden erin wilt toevoegen, gaat u naar de map waar de map die u wilt toevoegen zich bevindt.

$ cd directory
$ git add directoryname

Antwoord 8, autoriteit 2%

Ik kwam dit probleem tegen dat me wat tijd kostte, en herinnerde me toen dat git geen lege mappen opslaat. Onthoud dat als je een mappenboom hebt die je wilt opslaan, een bestand in ten minste de diepste map van die boomstructuur plaatst, zoiets als een bestand genaamd “.gitkeep”, alleen om de opslag door git te beïnvloeden.


Antwoord 9

Ik had hetzelfde probleem en ik heb geen .gitignore-bestand. Mijn probleem is op de volgende manier opgelost. Dit kostte alle submappen en bestanden.

git add <directory>/*

Antwoord 10

Navigeer naar de map waar je je bestanden hebt
als je op een Windows-machine werkt, moet je git bash starten, van waaruit je een opdrachtregelinterface krijgt, gebruik dan deze opdrachten

git init   //this initializes a .git  repository in your working directory
git remote add origin <URL_TO_YOUR_REPO.git> // this points to correct repository where files will be uploaded
git add *   // this adds all the files to the initialialized git repository

Als u wijzigingen aanbrengt in de bestanden voordat u deze samenvoegt met de master, moet u de wijzigingen vastleggen door uit te voeren

git commit -m "applied some changes to the branch"

Na deze checkout de branch naar de master branch


Antwoord 11

Scenario/oplossing 1:
Zorg ervoor dat uw Folder/ Sub-folderniet in het bestand .gitignorestaat.


Scenario/oplossing 2:
Standaard werkt git add .recursief.


Scenario/oplossing 3:
git add --all :/werkt soepel, waar git add .niet (werkt).
(@JasonHartley’s opmerking)


Scenario/oplossing 4:
Het probleem waar ik persoonlijk mee te maken had, was het toevoegen van Subfolders or Files, die vaak voorkomen in meerdere Folders.

Bijvoorbeeld:

Folder/Subfolder-L1/Subfolder-L2/...file12.txt

Folder/Subfolder-L1/Subfolder-L2/Subfolder-L3/...file123.txt

Folder/Subfolder-L1/...file1.txt

Dus Gitraadde me aan om git submoduletoe te voegen, wat ik probeerde maar lastig was.


Wat uiteindelijk voor mij werkte, was:

1. git addéén bestand dat zich aan het laatste einde / niveau van een Folderbevindt.

Bijvoorbeeld:

git add Folder/Subfolder-L1/Subfolder-L2/Subfolder-L3/...file123.txt

2. git add --all :/nu.

Het zal zeer snelalle Folders, Subfoldersen filestoevoegen.



Antwoord 12

Er zijn momenten dat ik de broncodes van mijn webservice wil opnemen in het client-side project. Beiden hebben een aparte git-repository.
Ik ben eigenlijk gewend om alle bestanden toe te voegen met het commando:

git add -A

Maar om de een of andere reden voegt het alleen de map toe. Later kwam ik erachter dat de serverbestanden ook de map .giterin hebben, zodat het commando niet werkt.

tl;dr: zorg ervoor dat er geen map .gitis in de map die je wilt stagen.


Antwoord 13

Ik moest dit gewoon doen en ik ontdekte dat je gemakkelijk bestanden in submappen kunt toevoegen. Je hoeft alleen maar in de “top directory” van de repo te zijn en dan zoiets uit te voeren als:

$ git add ./subdir/file_in_subdir.txt

Antwoord 14

git add --all my/awesome/stuff/werkt voor mij. [1]

  1. https://git-scm.com/docs/git-add

Antwoord 15

Dit werkte voor mij

git add -f *

Other episodes