User Tools

Site Tools


project:git_basics

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
project:git_basics [2016/06/19 22:44] – [Pre commit skripta] dpproject:git_basics [2017/07/19 15:54] (current) dp
Line 3: Line 3:
 FIXME FIXME
  
-  git reset ahead +Bilješke s Git radionice [[http://radiona.org/git-radionica-code-soup/|Code Soup]], Dobrice Pavlinušića. 
-  git commit --ammend+ 
 +<code> 
 +git reset ahead 
 +git commit --ammend
      
-  git rebase +git rebase 
-  git diff +git diff 
-  git log -f +git log -f 
-  git grep [nešto]+git grep [nešto] 
 +</code>
  
 Zanimljivi projekti koji koriste git: Zanimljivi projekti koji koriste git:
Line 17: Line 21:
   * bak-git https://github.com/dpavlin/bak-git   * bak-git https://github.com/dpavlin/bak-git
  
-promjene git sprema na razini **LINIJA** +  * promjene git sprema na razini **LINIJA** 
-bilo kakve datoteke/formati bazirane na linijama (kicad, SVG)+  bilo kakve datoteke/formati bazirane na linijama (kicad, SVG) 
 +  * git je distribuiran, svaki repozitorij/fajlovi su prisutni na svakom drugom. 
 +  * preporuča se da promjene budu manje (kako bi se potencijalno mogli iskorisititi i za druge...) 
 +  * git je napravljen za kernel developere 
 +  * u gitu se mogu raditi svoje naredbe 
 +  * gitlab alternativa githubu kad ne zelimo imat javni rep ili ne zelimo platit
  
-git je distribuiran, svaki repozitorij/fajlovi su prisutni na svakom drugom.+''remote''git terminologiji je repozitorij koji je negdje drugdje (u drugom direktoriju ili na mreži)
  
-preporuča se da promjene budu manje (kako bi se potencijalno mogli iskorisititi za druge...)+''clone'' kloniranje svega s remote repozitorija kopiranje na local repozitorij
  
-git je napravljen za kernel developere+''init'' uđi u folder, initialize a repository on a new folder or existing one
  
-''remote'' u git terminologiji je repozitorij koji je negdje drugdje (u drugom direktoriju ili na mreži)+''.git'' folder kojem git sprema sve (nije backup... delete to destroy repository
  
-''rsync'' je ok način za prebacit repozitorij na drugo računao+''.gitignore'' specify files and file patterns for git to ignore (create file: ''touch .gitignore'' and add e.g. *.log)
  
-gitlab alternativa githubu kad ne zelimo imat javni rep ili ne zelimo platit+''commit'' changes go to local repo... making safe points... 
 + 
 +''git commit -m "description"'' dodavanje opisa uz commit, u protivnom se otvori vim editor 
 + 
 +''push'' push changes from local to remote 
 + 
 +''pull'' sync lokal s remote repozitorijem. povuci sve promjene s remote repozitorija koje nisu u lokalnom repozitoriju.
  
 ''rebase'' (tvoj commit stavlja kao zadnji (na vrhu) master brancha) ''rebase'' (tvoj commit stavlja kao zadnji (na vrhu) master brancha)
  
-''git fetch origin'' (povoci sve što je čovjek napravio u međuvremenu)+''pull --rebase'' ensures that your changes commited localy will always be put on top of anything you pull from remote 
 + 
 +''rsync'' je ok način za prebacit repozitorij na drugo računao 
 + 
 +''git fetch origin'' s remote repozitirija povuci sve promjene napravljene u međuvremenu (od zadnjeg cloniranja ili fetch-anja)... fetching povuče sve promjene u lokalni repozitorij, ali ih ne merge-a. 
 + 
 +''git pull origin'' will automatically fetch and merge the changes from the remote branch into your current branch 
 + 
 +''git push origin master'' we are telling git to push our changes to the remote repository known to us as origin and commit them to the master branch 
 + 
 +''git remote add IME_DODATNOG_REPOZITORIJA http://git...'' adding additional remote repositories
  
 ''diff'' (pogledaj trenutno stanje u odnosu na master) ''diff'' (pogledaj trenutno stanje u odnosu na master)
Line 44: Line 69:
 ''git grep -i'' (case insensitive) ''git grep -i'' (case insensitive)
  
-''git status''+''git status'' check status of the repository ... what files are untracked 
 + 
 +''git add'' stage a file for commit
  
 ''pre commit hook'' (nešto što se projavi prije comminta pa se može nešto napraviti npr. izbrisati spejsove (davor!)) ''pre commit hook'' (nešto što se projavi prije comminta pa se može nešto napraviti npr. izbrisati spejsove (davor!))
Line 52: Line 79:
  
 ''git cherry pick'' (?) ''git cherry pick'' (?)
- 
-u gitu se mogu raditi svoje naredbe 
  
 ''pre commit'' ogranicavanje usera ''pre commit'' ogranicavanje usera
Line 62: Line 87:
 ''git push'' ''git push''
  
-''git add .'' ("." current directory)\\  +''git add .'' ("." stage everything in current directory)\\  
-''git add *''+''git add *''\\ 
 +''git add *.txt''
  
 +''git branch IME_NOVOG_BRANCHA'' create new branch
 +
 +''git checkout IME_NOVOG_BRANCHA'' 
 +
 +''git checkout master'' switch back to the main branch 
 +
 +''git merge IME_NOVOG_BRANCHA'' ... ali i potencijalni konflikti...
  
 ===== Primjer grupnog rada ===== ===== Primjer grupnog rada =====
 (Dobrica je kreirao github repozitorij) (Dobrica je kreirao github repozitorij)
  
-''git clone https://github.com/username/radiona-git-soup'' +<code> 
-''cd radiona-git-soup/'' +git clone https://github.com/username/radiona-git-soup 
-''ls'' +cd radiona-git-soup/ 
-''git add *'' +ls 
-''git status'' +git add * 
-''git commit'' +git status 
-''git log'' +git commit 
-''git commit'' +git log 
-''git log'' +git commit 
-''git push''+git log 
 +git push 
 +</code>
  
 --- nakon konflikta --- nakon konflikta
Line 129: Line 164:
 primjer f32c primjer f32c
  
 +<code>
 mkdir subodules/ mkdir subodules/
 cd sumbodules/ cd sumbodules/
 mkdir f32c/ mkdir f32c/
 cd f32c/ cd f32c/
-git init (????)+git init
 git submodule add https://github.com/f32c/f32c git submodule add https://github.com/f32c/f32c
 git submodule add https://github.com/f32c/arduino git submodule add https://github.com/f32c/arduino
Line 141: Line 177:
 git submodules update git submodules update
 git submodules foreach git diff git submodules foreach git diff
 +</code>
  
- +===== Korištenje tagova ===== 
-Tags (human readable name za neki commit)+Tags (human readable name za neki commit)\\
 Za svaki commit mozemo dati tag koji dohvaćamo isto kao i preko SHA Za svaki commit mozemo dati tag koji dohvaćamo isto kao i preko SHA
- 
  
 ===== Pre commit skripta ===== ===== Pre commit skripta =====
project/git_basics.1466369048.txt.gz · Last modified: 2016/06/19 22:44 by dp