====== GitHub ====== ๐Ÿ—‚๏ธ [[start|Terug naar start]] [[https://chatgpt.com/g/g-xZJnOyUF1-a3drepositorie-guide-nl|GPT: A3D Repositorie Guide (nl)]] Hier op deze pagina wat basis instructies m.b.t. GitHub\\ -> Hoe een repository aan te maken\\ -> Hoe veranderingen doorvoeren //(commit)// vanuit VS Code -> [[https://github.com/|GitHub]]\\ -> [[https://github.com/settings|Public profile settings]] **[[https://github.com/joshnh/Git-Commands|Git-Commands]]**\\ [[https://git-scm.com/docs|Git Reference]] -> **Access tokens:**\\ Ga naar je GitHub-instellingen:\\ https://github.com/settings\\ Klik op "Developer settings"\\ Klik op "Personal access tokens" ===== GitHub Copilot ===== [[https://github.com/features/copilot|Github Copilot (features)]]\\ [[https://www.youtube.com/watch?v=alMEtTzsDu8|YouTube: How to Use GitHub Copilot for Data Science (Python + VS Code)]]\\ -> [[https://docs.datalumina.io/q1VcXNLunzjvY6|INFO: GitHub Copilot - Github Copilot Labs - Copilot-X]]\\ ---- ===== Repository Aanmaken op GitHub ===== ๐Ÿ”ธ Maak een repository aan op Github met README.md\\ ๐Ÿ”ธ Open consul in map waar projectmap in moet komen //(in mijn geval de "a3d_ai" map)//\\ ๐Ÿ”ธ Clone de repository in die map: git clone https://github.com/jouw-gebruikersnaam/jouw-repository-naam.git ๐Ÿ”ธ Ga in de nieuwe project map: cd jouw-repository-naam ๐Ÿ”ธ Maak een Virtuele omgeving aan python -m venv venv ๐Ÿ”ธ Activeer de Virtuele omgeving .\venv\Scripts\Activate ๐Ÿ”ธ Kopieer de map **.streamlit** en de bestanden **.env** en **.gitignore** van een eerder project in het nieuwe project ๐Ÿ”ธ Open VS code code . ๐Ÿ”ธ Commit de aanpassingen en sync de aanpassingen ---- ===== Een repository aanmaken met Opdrachtprompt ===== -> Een repository aanmaken in huidige map git init -> Een repository aanmaken in "mapnaam" //Als de map niet bestaat wordt deze aangemaakt// git init mapnaam -> Een bestaande repository clonen bv: URL = https://github.com/alejandro-ao/langchain-ask-pdf git clone https://github.com/alejandro-ao/langchain-ask-pdf.git ---- ===== .gitignore ===== Een .gitignore bestand is een tool in Git, het versiebeheersysteem, die u gebruikt om aan te geven welke bestanden of mappen Git moet negeren.\\ -> Een voorbeeld: .env .streamlit/secrets.toml a3d/a3dcontrolerBackup.py __pycache__/ venv/ ---- ==== Repository aanmaken ==== -> Initialiseer een lokale Git-repository: - Open uw terminal of command prompt. - Navigeer naar de root-map van uw project. - Voer de volgende commando's uit om Git te initialiseren: git init git add . git commit -m "Eerste commit (korte beschrijving)" -> Maak een nieuwe repository op GitHub: - Ga naar GitHub en log in op uw account. - Klik op de "+" in de rechterbovenhoek en selecteer "New repository". - Voer een naam in voor uw repository, kies de zichtbaarheid (openbaar of privรฉ), en klik op "Create repository". -> Terug in je lokale project: git remote add origin https://github.com/uwgebruikersnaam/uwrepository.git git branch -m main git push -u origin main -> Controleer uw GitHub-repository: Ga terug naar GitHub en vernieuw de pagina van uw repository. U zou nu uw bestanden moeten zien. :!: **Let op:** Als je bij het aanmaken van de repository op GitHub aangeeft dat het README.md bestand moet worden aangemaakt, moet deze eerst lokaal worden binnen gehaald voor "git branch -m main" anders volgd er een foutmelding:\\ โ—**[[#fout_bij_aanmaken_met_synchroniseren|Oplossing voor fout bij synchroniseren]]** โœจ -> Controleer op Niet-Getrackte Bestanden: git ls-files --others --exclude-standard === Fout: "remote origin already exists" === Dit betekent dat uw lokale Git-repository al een remote genaamd 'origin' heeft. U kunt de huidige URL van deze remote controleren met: git remote -v Als deze URL niet overeenkomt met de URL van uw nieuwe GitHub repository, kunt u de oude verwijderen en de nieuwe toevoegen: git remote remove origin git remote add origin https://github.com/AdrieVanDijke/cat-va-app.git Nadat u de conflicten heeft opgelost, voeg de gewijzigde bestanden toe en maak een nieuwe commit: git add . git commit -m "Merge conflicten opgelost" Push Uw Wijzigingen: git push origin main ---- ==== FOUT BIJ AANMAKEN MET Synchroniseren ==== ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'https://github.com/AdrieVanDijke/cat-va-app.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. > ChatGPT: Deze foutmelding geeft aan dat de staat van uw lokale repository niet up-to-date is met de staat van uw repository op GitHub. Dit betekent dat er wijzigingen zijn in de GitHub-repository die u nog niet lokaal heeft. Voordat u uw wijzigingen kunt pushen, moet u deze remote wijzigingen eerst integreren in uw lokale repository. :!: **Opgelost met:** git pull origin main --allow-unrelated-histories git add . git commit -m "Conflicten opgelost" git push origin main ---- ===== Repository Gebruiken ===== - Stage de Wijzigingen: * Voer het volgende commando uit om de gewijzigde bestanden klaar te zetten voor de commit: **git .** - Maak een Commit: * Commit uw wijzigingen met **git commit -m "Uw bericht"**. //Zorg ervoor dat uw commit-berichten duidelijk en beschrijvend zijn.// - Push naar GitHub: * Gebruik **git push origin main** //om uw lokale wijzigingen naar de GitHub-repository te pushen.// git add . :!: let op de punt achter add git commit -m "Uw bericht" git push origin main ---- -> Controleer de Status van uw Lokale Repository: git status -> Bekijk de Commit Geschiedenis: git log -> Controleer Remote Configuratie: git remote -v Dit toont de URL's die verbonden zijn met uw lokale repository voor fetch en push operaties ---- ===== Een nieuw bestand toevoegen ===== -> Voeg het Nieuwe Bestand toe aan de Staging Area: git add nieuwbestand.ext git commit -m "Nieuw bestand toegevoegd: nieuwbestand.ext" git push origin main ---- ===== Lokaal map verwijderd ===== De volgende acties uitvoeren vanuit de lokale werkmap als er een map is verwijderd uit de lokale werkomgeving.\\ -> Om te syncen met GitHub: * **Verwijder de Map Lokaal:** * Zorg ervoor dat u de map die u wilt verwijderen, daadwerkelijk heeft verwijderd uit uw lokale werkomgeving. * **Voer Git Status Uit:** * Open de terminal of command prompt. * Voer **git status** uit om de status van uw repository te bekijken. U zou moeten zien dat de verwijderde map wordt vermeld als een verandering die nog gecommit moet worden. * git status * **Verwijder de Map in Git:** * Om de map te verwijderen uit uw Git-repository, moet u Git expliciet vertellen om deze verwijdering te 'tracken'. Dit doet u met: * git rm -r mapnaam/ * //Vervang mapnaam/ met de naam van de map die u heeft verwijderd// * **Commit de Wijziging:** * Maak een commit om deze wijziging vast te leggen: * git commit -m "Map verwijderd: mapnaam" * //Vervang "Map verwijderd: mapnaam" met een beschrijvend bericht over wat u heeft gedaan.// * **Push naar GitHub:** * Push uw wijzigingen naar de GitHub repository: * git push origin main * //Dit zal de wijzigingen (inclusief het verwijderen van de map) uploaden naar uw GitHub repository.// :!: **Na bovenstaande acties uitgevoerd te hebben kreeg ik de volgende foutmelding:** ! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'https://github.com/AdrieVanDijke/cat-va-app.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. > ChatGPT: Deze foutmelding geeft aan dat de staat van uw lokale repository niet up-to-date is met de staat van uw repository op GitHub. Dit betekent dat er wijzigingen zijn in de GitHub-repository die u nog niet lokaal heeft. Voordat u uw wijzigingen kunt pushen, moet u deze remote wijzigingen eerst integreren in uw lokale repository. :!: **Opgelost met:** git pull origin main --allow-unrelated-histories git add . git commit -m "Conflicten opgelost" git push origin main ---- ==== Bestand verwijderderen ==== -> De zelfde procedure volgen om bv het bestand **bestandsnaam.py** uit de map **a3d** te verwijderen git rm a3d/bestandsnaam.py //etc.// ---- **[[https://github.com/joshnh/Git-Commands|Git-Commands]]**\\ [[https://git-scm.com/docs|Git Reference]] ----