
Input richiesti:
- Leggi, segui e comprendi il mio articolo su Git . Ciò contribuirà a garantire che tutto sia configurato e pronto per l'uso.
- Installa IntelliJ IDEA.
- Assegna un'ora di tempo personale per raggiungere la completa padronanza.
Clonare il progetto localmente
Ci sono due opzioni qui:- Se hai già un account GitHub e vuoi inviare qualcosa in un secondo momento, è meglio eseguire il fork del progetto e clonare la tua copia.
- Clona il mio repository e fai tutto localmente senza la possibilità di inviare tutto al server. Dopotutto, questo è il mio repository :)
-
Copia l'indirizzo del progetto:
-
Apri IntelliJ IDEA e seleziona "Ottieni da controllo versione":
-
Copia e incolla l'indirizzo del progetto:
-
Verrà richiesto di creare un progetto IntelliJ IDEA. Accetta l'offerta:
-
Poiché non esiste un sistema di compilazione e questo va oltre lo scopo di questo articolo, selezioniamo Crea progetto da fonti esistenti :
-
Successivamente vedrai questo bellissimo schermo:
Ora che abbiamo capito la clonazione, puoi dare un'occhiata in giro.
Primo sguardo a IntelliJ IDEA come interfaccia utente Git
Dai un'occhiata più da vicino al progetto clonato: puoi già ottenere molte informazioni sul sistema di controllo della versione. Innanzitutto, abbiamo il riquadro Controllo versione nell'angolo in basso a sinistra. Qui puoi trovare tutte le modifiche locali e ottenere un elenco di commit (analogo a "git log"). Passiamo a una discussione su Log . C'è una certa visualizzazione che ci aiuta a capire esattamente come è proceduto lo sviluppo. Ad esempio, puoi vedere che è stato creato un nuovo ramo con un'intestazione aggiunta al commit txt, che è stato poi unito al ramo principale. Se fai clic su un commit, puoi vedere nell'angolo destro tutte le informazioni sul commit: tutte le sue modifiche e metadati.



Lavorare con un repository
Tasti di scelta rapida utili
Per il lavoro futuro, è necessario ricordare alcuni tasti di scelta rapida molto utili:- CTRL+T — Ottieni le ultime modifiche dal repository remoto (git pull).
- CTRL+K — Crea un commit / visualizza tutte le modifiche correnti. Ciò include sia i file non tracciati che quelli modificati (vedi il mio articolo su git, che spiega questo) (git commit).
- CTRL+MAIUSC+K — Questo è il comando per inviare le modifiche al repository remoto. Tutti i commit creati localmente e non ancora nel repository remoto verranno inviati (git push).
- ALT+CTRL+Z : ripristina le modifiche in un file specifico allo stato dell'ultimo commit creato nel repository locale. Se selezioni l'intero progetto nell'angolo in alto a sinistra, puoi ripristinare le modifiche in tutti i file.

Cosa vogliamo?
Per portare a termine il lavoro, dobbiamo padroneggiare uno scenario di base utilizzato ovunque. L'obiettivo è implementare nuove funzionalità in un ramo separato e quindi inviarlo a un repository remoto (quindi è necessario anche creare una richiesta pull al ramo principale, ma questo va oltre lo scopo di questo articolo). Cosa è necessario per fare questo?-
Ottieni tutte le modifiche correnti nel ramo principale (ad esempio, "master").
-
Da questo ramo principale, crea un ramo separato per il tuo lavoro.
-
Implementare la nuova funzionalità.
-
Vai al ramo principale e controlla se ci sono stati nuovi cambiamenti mentre stavamo lavorando. In caso contrario, allora va tutto bene. Ma se ci sono state modifiche, allora facciamo quanto segue: andiamo al ramo di lavoro e ribasiamo le modifiche dal ramo principale al nostro. Se tutto va bene, allora fantastico. Ma è del tutto possibile che ci saranno conflitti. Si dà il caso che possano essere risolti in anticipo, senza perdere tempo nel repository remoto.
Ti stai chiedendo perché dovresti farlo? È una buona educazione e impedisce che si verifichino conflitti dopo aver spinto il tuo ramo nel repository locale (c'è, ovviamente, la possibilità che si verifichino ancora conflitti, ma diventa molto più piccolo ).
- Invia le tue modifiche al repository remoto.
Ottenere modifiche dal server remoto?
Ho aggiunto una descrizione al README con un nuovo commit e desidero ottenere queste modifiche. Se sono state apportate modifiche sia nel repository locale che in quello remoto, allora siamo invitati a scegliere tra un merge e un rebase. Scegliamo di fonderci. Digita CTRL+T :

Crea un nuovo ramo basato su master
Tutto è semplice qui.-
Vai nell'angolo in basso a destra e fai clic su Git: master . Seleziona + Nuovo ramo .
Lascia selezionata la casella di controllo Filiale Checkout e inserisci il nome della nuova filiale. Per me, sarà readme-improver .

Git: master cambierà quindi in Git: readme-improver .
Simuliamo un lavoro parallelo
Affinché i conflitti appaiano, qualcuno deve crearli :D Modificherò il README con un nuovo commit attraverso il browser, simulando così un lavoro parallelo. È come se qualcuno apportasse modifiche allo stesso file mentre ci stavo lavorando. Il risultato sarà un conflitto. Toglierò la parola "fully" dalla riga 10.Implementa la nostra funzionalità
Il nostro compito è modificare il README e aggiungere una descrizione al nuovo articolo. Cioè, il lavoro in Git passa attraverso IntelliJ IDEA. Aggiungi questo:


Controlla se il ramo principale è cambiato
Abbiamo completato il nostro compito. Funziona. Abbiamo scritto test. Va tutto bene. Ma prima di eseguire il push al server, dobbiamo ancora verificare se nel frattempo sono state apportate modifiche al ramo principale. Come è potuto succedere? Abbastanza facilmente: qualcuno riceve un compito dopo di te e quel qualcuno lo completa più velocemente di quanto tu finisca il tuo compito. Quindi dobbiamo andare al ramo principale. Per fare ciò, dobbiamo fare ciò che è mostrato nell'angolo in basso a destra nello screenshot qui sotto:



- accetta il tuo: accetta solo le modifiche da readme-improver.
- accetta i loro — accetta solo modifiche dal master.
- unisci: scegli tu stesso cosa vuoi conservare e cosa scartare.

- Queste sono le modifiche da readme-improver.
- Il risultato unito. Per ora, è ciò che esisteva prima dei cambiamenti.
- Le modifiche dal ramo master.

Invio delle modifiche al server remoto
Il passaggio successivo consiste nell'inviare le modifiche al server remoto e creare una richiesta pull. Per fare ciò, premi semplicemente CTRL+MAIUSC+K . Quindi otteniamo:

Parte bonus
All'inizio non volevo aggiungere la creazione di una richiesta pull a questo articolo, ma senza di essa non è del tutto completo. Quindi, andiamo in un repository GitHub (uno che è tuo, ovviamente :)) e vediamo che GitHub sa già cosa vogliamo: fai

GO TO FULL VERSION