====== 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]]
----