SlideShare a Scribd company logo
1 of 89
Download to read offline
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Tak.




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Tak.
                                  Po prostu.



Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
@ktosopl                                         github.com/ktoso




                                  blog.project13.pl


Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Masz pytanie?
Nie czekaj do końca prezentacji!
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Poproszę...
             „Pytanie do publiczności“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Ważne słowa
                                            (-: WAŻNE :-)

                                  System kontroli wersji
                         Scentralizowany czy Zdecentralizowany
                                    (CVCS vs DVCS)

                                              Zespół
                                             Współpraca

                                                Zmiany
                                            Diff („różnice“)

                                          Integracja zmian

                                             Słowniczek:
                                               Commit
                                              Snapshot
                                               Konflikt
                                                Branch

Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
git-ninijitsu


 Config
                      Stash               Fetch                    Rebase
 Init                                     Pull                     Add --patch
 Clone                Branch
                      Checkout            Push                     Grep
 Add / Stage          Merge                                        Bisect
 Reset                                    Daemon                   Blame
 Status               Stash
 Commit                                                            Gc
                      Diff
 Log                                                               Format-patch
 Gitk
                                                                   Svn
 Git gui




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Centralized SCM World

                                                               Jedno jedyne repozytorium
                                                               „One to Rule Them All“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Svn UDAJE branche i tagi




                                      /tags/...
                                      /branches/...
                                      /trunk/...


Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Helo (Git) World!
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Bardzo skomplikowany setup ;-)



                                        Git init .




                                        (Przyjrzymy się strukturze plików git za moment „na żywo“)

Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
SCM Wars: Attack of the clones




                      Git clone file:///home/ktoso/coding/intellij
                      Git clone ssh://ktoso@dynames/repository
                      Git clone http://git.project13.pl/pub/repository
                      Git clone https://git.project13.pl/pub/repository
                      Git clone git://git.project13.pl/git/repository.git
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
./git/index AKA „Staging Area“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
./git/index AKA „Staging Area“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
./git/index AKA „Staging Area“




                                               =
                             indeks ponieważ istnieje plik .git/index
                     staging area ponieważ idealnie obrazuje jego działanie


Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Commit jest LOKALNY




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Commit jest LOKALNY




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Commit thyself, Lancelot!




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Local (internal details) workflow




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Local (internal details) workflow




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Local (internal details) workflow




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Local (internal details) workflow




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Local (internal details) workflow




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Local (internal details) workflow




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
ALL Git Objects on 1 slide!




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Nie ma treści = nie ma nic.




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
BRANCH + MERGE




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
BRANCH + MERGE




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
BRANCH + MERGE




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
BRANCH + MERGE




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Przykład
„Real Life“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Przykład
„Real Life“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Przykład
„Real Life“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Przykład
„Real Life“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
So many heads...?




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
There's just one .git/HEAD
$ Git branch
* master
  fire
  snake




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
There's just one .git/HEAD




                                  Git checkout fire




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
There's just one .git/HEAD
$ Git branch
  master
* fire
  snake




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Nowy branch = trywialne




                        Git branch niebieski




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Nowy branch = trywialne


                        Git branch niebieski




                        Git checkout niebieski



Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Nowy branch, trywialniej




                        Git checkout -b niebieski




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git merge zielony




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git merge zielony




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git merge zielony




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Fast Forward merge strategy




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git merge zielony --no-ff




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git branch -d zielony



                                  Git branch -d




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
STASH




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
OCTOPUS




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
OCTOPUS (Merge Engine)
                                 Git checkout master
                                Git merge feature-45 fix




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Shall I push or shall I pull..?




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Introducing: the buttler (server)

                        Git serve




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Introducing: the buttler (server)

                        Git serve

                          git daemon 
                                 --reuseaddr 
                                 --verbose 
                                 --base-path=. 
                                 --export-all 
                                 ./.git

                          Git config alias.serve „...“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Introducing: the buttler (server)

                        Git serve




                          Git clone git://buttler/repo.git




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Introducing: the buttler (server)

                        Git serve




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
The good old way - Patches




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
The good old way - Patches




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
The good old way - Patches




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Typical
Open Source
   Flow




 Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Typical
Open Source
   Flow




 Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Typical
Open Source
   Flow




 Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Typical
Open Source
   Flow




 Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Typical
Open Source
   Flow




 Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
git rebase

Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git rebase --interactive HEAD^^




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git rebase --interactive HEAD^^




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Rebase = „Zmiana bazy“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Rebase = „Zmiana bazy“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Rebase = „Zmiana bazy“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Rebase = „Zmiana bazy“




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Rebase = Rewind + Replay




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git cherry-pick hs4f7z




       hs4f7z569sp




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git cherry-pick hs4f7z




       hs4f7z569sp




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
TAG




                            Git tag release-1.0




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
TAG




                            Git tag release-1.0
                                     =
svn copy http://svn.example.com/repos/calc/trunk 
         http://svn.example.com/repos/calc/tags/release-1.0 
      -m "Tagging the 1.0 release of the 'calc' project."



Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git svn ...




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git svn ...




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git svn ...




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Git svn ...




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Poznaliśmy również podstawy:




                                                                             Bazaar




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Final bunch of links:
                                Best Resources:
                                ● Git-scm.com

                                ● Git.wiki.kernel.org

                                ● Progit.org (Creative Commons Book)

                                ● Gitref.org

                                ● ...blogs!




                                Public OpenSource (or $$$ private) hosting:
                                ● Github.com

                                ● Sourceforge.net

                                ● Assembla.com

                                ● Gitorious.org

                                ● Gitenterprise.com




                                Private Hosting:
                                ● Google -> gitosis

                                ● Google -> gitolite




                                Other:
                                ● Google -> git refcard

                                ● Google -> successful git workflow




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
ありがとう
                                                                      (DZIĘKUJĘ)
                                                               ZA UWAGĘ!




Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
Pytanie Bonusowe...
git init .
touch me                                                                                             .org

mkdir folder
git stage .
git commit -am 'Initial commit'
tree .git/objects/
fortune > anything.txt
git add .
git commit -am 
  'How many git objects exist now ?'



Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011

More Related Content

Viewers also liked

Ebay legacy-code-retreat
Ebay legacy-code-retreatEbay legacy-code-retreat
Ebay legacy-code-retreatKonrad Malawski
 
Need for Async: Hot pursuit for scalable applications
Need for Async: Hot pursuit for scalable applicationsNeed for Async: Hot pursuit for scalable applications
Need for Async: Hot pursuit for scalable applicationsKonrad Malawski
 
KrakDroid: Scala on Android
KrakDroid: Scala on AndroidKrakDroid: Scala on Android
KrakDroid: Scala on AndroidKonrad Malawski
 
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)Konrad Malawski
 
Scalding - Hadoop Word Count in LESS than 70 lines of code
Scalding - Hadoop Word Count in LESS than 70 lines of codeScalding - Hadoop Word Count in LESS than 70 lines of code
Scalding - Hadoop Word Count in LESS than 70 lines of codeKonrad Malawski
 
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRKKonrad Malawski
 
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka StreamsFresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka StreamsKonrad Malawski
 
Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013Konrad Malawski
 
The things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaThe things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaKonrad Malawski
 
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...Konrad Malawski
 
The Need for Async @ ScalaWorld
The Need for Async @ ScalaWorldThe Need for Async @ ScalaWorld
The Need for Async @ ScalaWorldKonrad Malawski
 
Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016Konrad Malawski
 
How Reactive Streams & Akka Streams change the JVM Ecosystem
How Reactive Streams & Akka Streams change the JVM EcosystemHow Reactive Streams & Akka Streams change the JVM Ecosystem
How Reactive Streams & Akka Streams change the JVM EcosystemKonrad Malawski
 
Scala Types of Types @ Lambda Days
Scala Types of Types @ Lambda DaysScala Types of Types @ Lambda Days
Scala Types of Types @ Lambda DaysKonrad Malawski
 
DDDing Tools = Akka Persistence
DDDing Tools = Akka PersistenceDDDing Tools = Akka Persistence
DDDing Tools = Akka PersistenceKonrad Malawski
 
The Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneThe Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneKonrad Malawski
 
End to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to SocketEnd to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to SocketKonrad Malawski
 
Reactive Streams, j.u.concurrent & Beyond!
Reactive Streams, j.u.concurrent & Beyond!Reactive Streams, j.u.concurrent & Beyond!
Reactive Streams, j.u.concurrent & Beyond!Konrad Malawski
 
Reactive Streams / Akka Streams - GeeCON Prague 2014
Reactive Streams / Akka Streams - GeeCON Prague 2014Reactive Streams / Akka Streams - GeeCON Prague 2014
Reactive Streams / Akka Streams - GeeCON Prague 2014Konrad Malawski
 
Distributed Consensus A.K.A. "What do we eat for lunch?"
Distributed Consensus A.K.A. "What do we eat for lunch?"Distributed Consensus A.K.A. "What do we eat for lunch?"
Distributed Consensus A.K.A. "What do we eat for lunch?"Konrad Malawski
 

Viewers also liked (20)

Ebay legacy-code-retreat
Ebay legacy-code-retreatEbay legacy-code-retreat
Ebay legacy-code-retreat
 
Need for Async: Hot pursuit for scalable applications
Need for Async: Hot pursuit for scalable applicationsNeed for Async: Hot pursuit for scalable applications
Need for Async: Hot pursuit for scalable applications
 
KrakDroid: Scala on Android
KrakDroid: Scala on AndroidKrakDroid: Scala on Android
KrakDroid: Scala on Android
 
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
[Tokyo Scala User Group] Akka Streams & Reactive Streams (0.7)
 
Scalding - Hadoop Word Count in LESS than 70 lines of code
Scalding - Hadoop Word Count in LESS than 70 lines of codeScalding - Hadoop Word Count in LESS than 70 lines of code
Scalding - Hadoop Word Count in LESS than 70 lines of code
 
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK
100th SCKRK Meeting - best software engineering papers of 5 years of SCKRK
 
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka StreamsFresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
Fresh from the Oven (04.2015): Experimental Akka Typed and Akka Streams
 
Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013Disrupt 2 Grow - Devoxx 2013
Disrupt 2 Grow - Devoxx 2013
 
The things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and AkkaThe things we don't see – stories of Software, Scala and Akka
The things we don't see – stories of Software, Scala and Akka
 
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...
[Japanese] How Reactive Streams and Akka Streams change the JVM Ecosystem @ R...
 
The Need for Async @ ScalaWorld
The Need for Async @ ScalaWorldThe Need for Async @ ScalaWorld
The Need for Async @ ScalaWorld
 
Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016Akka Streams in Action @ ScalaDays Berlin 2016
Akka Streams in Action @ ScalaDays Berlin 2016
 
How Reactive Streams & Akka Streams change the JVM Ecosystem
How Reactive Streams & Akka Streams change the JVM EcosystemHow Reactive Streams & Akka Streams change the JVM Ecosystem
How Reactive Streams & Akka Streams change the JVM Ecosystem
 
Scala Types of Types @ Lambda Days
Scala Types of Types @ Lambda DaysScala Types of Types @ Lambda Days
Scala Types of Types @ Lambda Days
 
DDDing Tools = Akka Persistence
DDDing Tools = Akka PersistenceDDDing Tools = Akka Persistence
DDDing Tools = Akka Persistence
 
The Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOneThe Cloud-natives are RESTless @ JavaOne
The Cloud-natives are RESTless @ JavaOne
 
End to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to SocketEnd to End Akka Streams / Reactive Streams - from Business to Socket
End to End Akka Streams / Reactive Streams - from Business to Socket
 
Reactive Streams, j.u.concurrent & Beyond!
Reactive Streams, j.u.concurrent & Beyond!Reactive Streams, j.u.concurrent & Beyond!
Reactive Streams, j.u.concurrent & Beyond!
 
Reactive Streams / Akka Streams - GeeCON Prague 2014
Reactive Streams / Akka Streams - GeeCON Prague 2014Reactive Streams / Akka Streams - GeeCON Prague 2014
Reactive Streams / Akka Streams - GeeCON Prague 2014
 
Distributed Consensus A.K.A. "What do we eat for lunch?"
Distributed Consensus A.K.A. "What do we eat for lunch?"Distributed Consensus A.K.A. "What do we eat for lunch?"
Distributed Consensus A.K.A. "What do we eat for lunch?"
 

More from Konrad Malawski

Networks and Types - the Future of Akka @ ScalaDays NYC 2018
Networks and Types - the Future of Akka @ ScalaDays NYC 2018Networks and Types - the Future of Akka @ ScalaDays NYC 2018
Networks and Types - the Future of Akka @ ScalaDays NYC 2018Konrad Malawski
 
Akka Typed (quick talk) - JFokus 2018
Akka Typed (quick talk) - JFokus 2018Akka Typed (quick talk) - JFokus 2018
Akka Typed (quick talk) - JFokus 2018Konrad Malawski
 
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in'tScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in'tKonrad Malawski
 
State of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeState of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeKonrad Malawski
 
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYC
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYCBuilding a Reactive System with Akka - Workshop @ O'Reilly SAConf NYC
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYCKonrad Malawski
 
Akka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming WorldAkka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming WorldKonrad Malawski
 
Reactive integrations with Akka Streams
Reactive integrations with Akka StreamsReactive integrations with Akka Streams
Reactive integrations with Akka StreamsKonrad Malawski
 
Not Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabsNot Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabsKonrad Malawski
 
Krakow communities @ 2016
Krakow communities @ 2016Krakow communities @ 2016
Krakow communities @ 2016Konrad Malawski
 
Reactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka StreamsReactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka StreamsKonrad Malawski
 
2014 akka-streams-tokyo-japanese
2014 akka-streams-tokyo-japanese2014 akka-streams-tokyo-japanese
2014 akka-streams-tokyo-japaneseKonrad Malawski
 

More from Konrad Malawski (12)

Networks and Types - the Future of Akka @ ScalaDays NYC 2018
Networks and Types - the Future of Akka @ ScalaDays NYC 2018Networks and Types - the Future of Akka @ ScalaDays NYC 2018
Networks and Types - the Future of Akka @ ScalaDays NYC 2018
 
Akka Typed (quick talk) - JFokus 2018
Akka Typed (quick talk) - JFokus 2018Akka Typed (quick talk) - JFokus 2018
Akka Typed (quick talk) - JFokus 2018
 
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in'tScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
ScalaSwarm 2017 Keynote: Tough this be madness yet theres method in't
 
State of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to comeState of Akka 2017 - The best is yet to come
State of Akka 2017 - The best is yet to come
 
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYC
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYCBuilding a Reactive System with Akka - Workshop @ O'Reilly SAConf NYC
Building a Reactive System with Akka - Workshop @ O'Reilly SAConf NYC
 
Akka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming WorldAkka-chan's Survival Guide for the Streaming World
Akka-chan's Survival Guide for the Streaming World
 
Reactive integrations with Akka Streams
Reactive integrations with Akka StreamsReactive integrations with Akka Streams
Reactive integrations with Akka Streams
 
Not Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabsNot Only Streams for Akademia JLabs
Not Only Streams for Akademia JLabs
 
Krakow communities @ 2016
Krakow communities @ 2016Krakow communities @ 2016
Krakow communities @ 2016
 
Zen of Akka
Zen of AkkaZen of Akka
Zen of Akka
 
Reactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka StreamsReactive Stream Processing with Akka Streams
Reactive Stream Processing with Akka Streams
 
2014 akka-streams-tokyo-japanese
2014 akka-streams-tokyo-japanese2014 akka-streams-tokyo-japanese
2014 akka-streams-tokyo-japanese
 

Git tak po prostu (SFI version)

  • 1. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 2. Tak. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 3. Tak. Po prostu. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 4. @ktosopl github.com/ktoso blog.project13.pl Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 5. Masz pytanie? Nie czekaj do końca prezentacji! Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 6. Poproszę... „Pytanie do publiczności“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 7. Ważne słowa (-: WAŻNE :-) System kontroli wersji Scentralizowany czy Zdecentralizowany (CVCS vs DVCS) Zespół Współpraca Zmiany Diff („różnice“) Integracja zmian Słowniczek: Commit Snapshot Konflikt Branch Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 8. git-ninijitsu Config Stash Fetch Rebase Init Pull Add --patch Clone Branch Checkout Push Grep Add / Stage Merge Bisect Reset Daemon Blame Status Stash Commit Gc Diff Log Format-patch Gitk Svn Git gui Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 9. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 10. Centralized SCM World Jedno jedyne repozytorium „One to Rule Them All“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 11. Svn UDAJE branche i tagi /tags/... /branches/... /trunk/... Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 12. Helo (Git) World! Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 13. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 14. Bardzo skomplikowany setup ;-) Git init . (Przyjrzymy się strukturze plików git za moment „na żywo“) Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 15. SCM Wars: Attack of the clones Git clone file:///home/ktoso/coding/intellij Git clone ssh://ktoso@dynames/repository Git clone http://git.project13.pl/pub/repository Git clone https://git.project13.pl/pub/repository Git clone git://git.project13.pl/git/repository.git Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 16. ./git/index AKA „Staging Area“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 17. ./git/index AKA „Staging Area“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 18. ./git/index AKA „Staging Area“ = indeks ponieważ istnieje plik .git/index staging area ponieważ idealnie obrazuje jego działanie Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 19. Commit jest LOKALNY Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 20. Commit jest LOKALNY Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 21. Commit thyself, Lancelot! Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 22. Local (internal details) workflow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 23. Local (internal details) workflow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 24. Local (internal details) workflow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 25. Local (internal details) workflow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 26. Local (internal details) workflow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 27. Local (internal details) workflow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 28. ALL Git Objects on 1 slide! Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 29. Nie ma treści = nie ma nic. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 30. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 31. BRANCH + MERGE Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 32. BRANCH + MERGE Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 33. BRANCH + MERGE Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 34. BRANCH + MERGE Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 35. Przykład „Real Life“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 36. Przykład „Real Life“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 37. Przykład „Real Life“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 38. Przykład „Real Life“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 39. So many heads...? Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 40. There's just one .git/HEAD $ Git branch * master fire snake Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 41. There's just one .git/HEAD Git checkout fire Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 42. There's just one .git/HEAD $ Git branch master * fire snake Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 43. Nowy branch = trywialne Git branch niebieski Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 44. Nowy branch = trywialne Git branch niebieski Git checkout niebieski Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 45. Nowy branch, trywialniej Git checkout -b niebieski Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 46. Git merge zielony Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 47. Git merge zielony Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 48. Git merge zielony Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 49. Fast Forward merge strategy Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 50. Git merge zielony --no-ff Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 51. Git branch -d zielony Git branch -d Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 52. STASH Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 53. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 54. OCTOPUS Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 55. OCTOPUS (Merge Engine) Git checkout master Git merge feature-45 fix Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 56. Shall I push or shall I pull..? Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 57. Introducing: the buttler (server) Git serve Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 58. Introducing: the buttler (server) Git serve git daemon --reuseaddr --verbose --base-path=. --export-all ./.git Git config alias.serve „...“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 59. Introducing: the buttler (server) Git serve Git clone git://buttler/repo.git Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 60. Introducing: the buttler (server) Git serve Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 61. The good old way - Patches Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 62. The good old way - Patches Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 63. The good old way - Patches Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 64. Typical Open Source Flow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 65. Typical Open Source Flow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 66. Typical Open Source Flow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 67. Typical Open Source Flow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 68. Typical Open Source Flow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 69. Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 70. git rebase Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 71. Git rebase --interactive HEAD^^ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 72. Git rebase --interactive HEAD^^ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 73. Rebase = „Zmiana bazy“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 74. Rebase = „Zmiana bazy“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 75. Rebase = „Zmiana bazy“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 76. Rebase = „Zmiana bazy“ Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 77. Rebase = Rewind + Replay Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 78. Git cherry-pick hs4f7z hs4f7z569sp Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 79. Git cherry-pick hs4f7z hs4f7z569sp Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 80. TAG Git tag release-1.0 Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 81. TAG Git tag release-1.0 = svn copy http://svn.example.com/repos/calc/trunk http://svn.example.com/repos/calc/tags/release-1.0 -m "Tagging the 1.0 release of the 'calc' project." Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 82. Git svn ... Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 83. Git svn ... Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 84. Git svn ... Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 85. Git svn ... Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 86. Poznaliśmy również podstawy: Bazaar Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 87. Final bunch of links: Best Resources: ● Git-scm.com ● Git.wiki.kernel.org ● Progit.org (Creative Commons Book) ● Gitref.org ● ...blogs! Public OpenSource (or $$$ private) hosting: ● Github.com ● Sourceforge.net ● Assembla.com ● Gitorious.org ● Gitenterprise.com Private Hosting: ● Google -> gitosis ● Google -> gitolite Other: ● Google -> git refcard ● Google -> successful git workflow Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 88. ありがとう (DZIĘKUJĘ) ZA UWAGĘ! Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011
  • 89. Pytanie Bonusowe... git init . touch me .org mkdir folder git stage . git commit -am 'Initial commit' tree .git/objects/ fortune > anything.txt git add . git commit -am 'How many git objects exist now ?' Konrad „Ktoso“ Malawski – konrad.malawski@java.pl - @ktosopl – blog.project13.pl - SFI 2011 - 11.03.2011