Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
PHP Project Management
Pengenalan GIT Subtree Strategy
Taufan Adhitya
2014-03-01 - Unitomo
who is this guy?
●
●
●
●
●

Full time Father
Part time Lead Developer @Bizgym
Heinekken Caffeine Fans
Enterpreneur wanna-b...
Apa yang akan kita bahas?
1. Mengenali tanda-tanda Project/Aplikasi
Monolitik
2. Penggunaan Git Subtree Dalam Project
Bers...
Mengenali tanda-tanda
Project/Aplikasi Monolitik
Mono(poli)tik??
Generally, a monolithic design is given when a
software provides its functionality centralised in
one huge...
Masalah buat loe?
● However, in case of providing a lot of
functionality such an approach may lead to
unclear or sleazy co...
Masalah buat loe?
● It is hard to manipulate or change existing
code, also extensions may be hard to
realize. So, develope...
Tendensi Monolitik yang umum

● analysis paralysis
● cargo cult programming
● death march
Penggunaan Git Subtree
Dalam Project Berskala
Besar
GIT : Global Information Tracker

Git For Dummy
CLONE
PULL
REBASE

MERGE
DIFF
COMMIT
PUSH
GIT Mantra :
Sekarang aku bisa meng-undo kesalahan
Aku adalah Time-Traveler
Ketika project bertendensi monolitik

Apa yang bisa kita lakukan dengan GIT?
Git Submodule To The Rescue
Submodules allow foreign repositories to be
embedded within a dedicated subdirectory of
the so...
ARRGGGHH!!!
And you call this as helpful idea?
Kenapa Git Submodule bisa menjadi
Ide yang buruk?
● Submodule sejatinya adalah clone baru dari
repository
● Artinya kita h...
GIT now become….
Goddamn Idiotic Truckload of sh*t
Wait…. Wait…
Apa itu Git Subtree
The idea of the subtree merge is that you have
two projects, and one of the projects maps to a
subdire...
GIT Subtree In 5 lines
$ git remote add -f Bproject /path/to/B <1>
$ git merge -s ours --no-commit Bproject/master <2>
$ g...
GIT Subtree In 5 lines
● Name the other project "Bproject", and fetch.
● Prepare for the later step to record the result a...
Subtree Strategy Benefits
● Share code without hurt your current workflow
● All revisions history are intact
● Provide cle...
Who uses this strategy?
●
●
●
●

Symfony2
Zend Framework2
Laravel4
… and many more

● And probably you, in the near future...
Thats it!

Question Time!
10th php indonesia surabaya meetup
10th php indonesia surabaya meetup
Nächste SlideShare
Wird geladen in …5
×

10th php indonesia surabaya meetup

PHP Project Management With Git Subtree Split strategy

  • Als Erste(r) kommentieren

10th php indonesia surabaya meetup

  1. 1. PHP Project Management Pengenalan GIT Subtree Strategy Taufan Adhitya 2014-03-01 - Unitomo
  2. 2. who is this guy? ● ● ● ● ● Full time Father Part time Lead Developer @Bizgym Heinekken Caffeine Fans Enterpreneur wanna-be https://github.com/toopay
  3. 3. Apa yang akan kita bahas? 1. Mengenali tanda-tanda Project/Aplikasi Monolitik 2. Penggunaan Git Subtree Dalam Project Berskala Besar
  4. 4. Mengenali tanda-tanda Project/Aplikasi Monolitik
  5. 5. Mono(poli)tik?? Generally, a monolithic design is given when a software provides its functionality centralised in one huge boilerplate.
  6. 6. Masalah buat loe? ● However, in case of providing a lot of functionality such an approach may lead to unclear or sleazy code as there is no clear separation to other areas of the software.
  7. 7. Masalah buat loe? ● It is hard to manipulate or change existing code, also extensions may be hard to realize. So, developers are well advised to implement more flexible code when a certain dimension of functionality is reached.
  8. 8. Tendensi Monolitik yang umum ● analysis paralysis ● cargo cult programming ● death march
  9. 9. Penggunaan Git Subtree Dalam Project Berskala Besar
  10. 10. GIT : Global Information Tracker Git For Dummy CLONE PULL REBASE MERGE DIFF COMMIT PUSH
  11. 11. GIT Mantra : Sekarang aku bisa meng-undo kesalahan Aku adalah Time-Traveler
  12. 12. Ketika project bertendensi monolitik Apa yang bisa kita lakukan dengan GIT?
  13. 13. Git Submodule To The Rescue Submodules allow foreign repositories to be embedded within a dedicated subdirectory of the source tree, always pointed at a particular commit.
  14. 14. ARRGGGHH!!! And you call this as helpful idea?
  15. 15. Kenapa Git Submodule bisa menjadi Ide yang buruk? ● Submodule sejatinya adalah clone baru dari repository ● Artinya kita harus memastikan sub-module selalu update ● Perubahan pada submodule tidak dapat mengikuti git workflow (push tidak dapat dilakukan secara langsung)
  16. 16. GIT now become…. Goddamn Idiotic Truckload of sh*t
  17. 17. Wait…. Wait…
  18. 18. Apa itu Git Subtree The idea of the subtree merge is that you have two projects, and one of the projects maps to a subdirectory of the other one and vice versa.
  19. 19. GIT Subtree In 5 lines $ git remote add -f Bproject /path/to/B <1> $ git merge -s ours --no-commit Bproject/master <2> $ git read-tree --prefix=dir-B/ -u Bproject/master <3> $ git commit -m "Merge B project as our subdirectory" <4> $ git pull -s subtree Bproject master <5>
  20. 20. GIT Subtree In 5 lines ● Name the other project "Bproject", and fetch. ● Prepare for the later step to record the result as a merge. ● Read "master" branch of Bproject to the subdirectory "dir-B". ● Record the merge result. ● Maintain the result with subsequent merges using "subtree"
  21. 21. Subtree Strategy Benefits ● Share code without hurt your current workflow ● All revisions history are intact ● Provide clean, two-way communication between shared code/repo
  22. 22. Who uses this strategy? ● ● ● ● Symfony2 Zend Framework2 Laravel4 … and many more ● And probably you, in the near future!
  23. 23. Thats it! Question Time!

×