SlideShare a Scribd company logo

GitHub/git+Cmake+Clion

Presentation of GitHub/git, CMake and CLion at HZG, DESY, on Apr, 25th 2017

1 of 41
Download to read offline
GitHub/git +GitHub/git +
CMake +CMake +
CLionCLion
GitGit
25.04.17 Igor Khokhriakov 3
Git
“Git was created by Linus Torvalds in 2005 for
development of the Linux kernel, with other kernel
developers contributing to its initial development.”
Wikipedia.org
According to StackOverflow survey 2017 ~70% of
developers are using git
25.04.17 Igor Khokhriakov 4
Key points about Git
● Strong support for non-linear development
– a core assumption is that a change will be merged more
often than it is written
● Distributed development
– Git gives each developer a local copy of the full
development history
● Efficient handling of large projects
– an order of magnitude faster than some version control
systems
GitHubGitHub
25.04.17 Igor Khokhriakov 6
GitHub
● Hosting that provides git service
● Suddenly became a central feature in git
ecosystem
– My personal experience is that back in 2012 they
did not have even in-line commit comment (vs
bitbucket)

Recommended

Git and GitHub
Git and GitHubGit and GitHub
Git and GitHubRick Umali
 
GitLab as an Alternative Development Platform for Github.com
GitLab as an Alternative Development Platform for Github.comGitLab as an Alternative Development Platform for Github.com
GitLab as an Alternative Development Platform for Github.comB1 Systems GmbH
 
Git and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewGit and GitHub | Concept about Git and GitHub Process | Git Process overview
Git and GitHub | Concept about Git and GitHub Process | Git Process overviewRueful Robin
 
Git presentation
Git presentationGit presentation
Git presentationEdson Celio
 

More Related Content

What's hot

The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubBigBlueHat
 
(Open Hack Night 2014) GitHub Tutorial
(Open Hack Night 2014) GitHub Tutorial(Open Hack Night 2014) GitHub Tutorial
(Open Hack Night 2014) GitHub TutorialJames Griffin
 
COSCUP Scouter: Face recognizer retrieves your Github contribution
COSCUP Scouter: Face recognizer retrieves your Github contributionCOSCUP Scouter: Face recognizer retrieves your Github contribution
COSCUP Scouter: Face recognizer retrieves your Github contributionChe-Chia Chang
 
Contributing to open source using Git
Contributing to open source using GitContributing to open source using Git
Contributing to open source using GitYan Vugenfirer
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and githubAderemi Dadepo
 
Getting started With GIT
Getting started With GITGetting started With GIT
Getting started With GITGhadiAlGhosh
 
Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Omar Fathy
 
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23msohn
 
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro WorkshopOpen Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro WorkshopWong Hoi Sing Edison
 
Gitlab Commit: How Containerized GitLab CI Pipelines Can Help You Streamline ...
Gitlab Commit: How Containerized GitLab CI Pipelines Can Help You Streamline ...Gitlab Commit: How Containerized GitLab CI Pipelines Can Help You Streamline ...
Gitlab Commit: How Containerized GitLab CI Pipelines Can Help You Streamline ...Nico Meisenzahl
 

What's hot (20)

The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHub
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 
Git basics
Git basicsGit basics
Git basics
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
 
(Open Hack Night 2014) GitHub Tutorial
(Open Hack Night 2014) GitHub Tutorial(Open Hack Night 2014) GitHub Tutorial
(Open Hack Night 2014) GitHub Tutorial
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git hub
Git hubGit hub
Git hub
 
COSCUP Scouter: Face recognizer retrieves your Github contribution
COSCUP Scouter: Face recognizer retrieves your Github contributionCOSCUP Scouter: Face recognizer retrieves your Github contribution
COSCUP Scouter: Face recognizer retrieves your Github contribution
 
Contributing to open source using Git
Contributing to open source using GitContributing to open source using Git
Contributing to open source using Git
 
Introduction to git and github
Introduction to git and githubIntroduction to git and github
Introduction to git and github
 
Git & git hub
Git & git hubGit & git hub
Git & git hub
 
Getting started With GIT
Getting started With GITGetting started With GIT
Getting started With GIT
 
Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1Introduction to Git and GitHub Part 1
Introduction to Git and GitHub Part 1
 
Git'in on Windows
Git'in on WindowsGit'in on Windows
Git'in on Windows
 
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
 
Git'in in 15
Git'in in 15Git'in in 15
Git'in in 15
 
Do You Get Git?
Do You Get Git? Do You Get Git?
Do You Get Git?
 
Presentation1
Presentation1Presentation1
Presentation1
 
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro WorkshopOpen Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
 
Gitlab Commit: How Containerized GitLab CI Pipelines Can Help You Streamline ...
Gitlab Commit: How Containerized GitLab CI Pipelines Can Help You Streamline ...Gitlab Commit: How Containerized GitLab CI Pipelines Can Help You Streamline ...
Gitlab Commit: How Containerized GitLab CI Pipelines Can Help You Streamline ...
 

Similar to GitHub/git+Cmake+Clion

Spring Projects Infrastructure
Spring Projects InfrastructureSpring Projects Infrastructure
Spring Projects InfrastructureRoy Clarkson
 
Spring Projects Infrastructure
Spring Projects InfrastructureSpring Projects Infrastructure
Spring Projects InfrastructureGunnar Hillert
 
GDSC PCE Hacktoberfest 1.pptx
GDSC PCE Hacktoberfest 1.pptxGDSC PCE Hacktoberfest 1.pptx
GDSC PCE Hacktoberfest 1.pptxAnandMenon54
 
Hacktoberfest GDSC Pillai College of Engineering
Hacktoberfest GDSC Pillai College of EngineeringHacktoberfest GDSC Pillai College of Engineering
Hacktoberfest GDSC Pillai College of EngineeringAnandMenon54
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginLuca Milanesio
 
Git & GitHub
Git & GitHubGit & GitHub
Git & GitHubCuong Ngo
 
Digital Fabrication Studio v.0.2: Version Control System: Files
Digital Fabrication Studio v.0.2: Version Control System: FilesDigital Fabrication Studio v.0.2: Version Control System: Files
Digital Fabrication Studio v.0.2: Version Control System: FilesMassimo Menichinelli
 
How I become Go GDE
How I become Go GDEHow I become Go GDE
How I become Go GDEEvan Lin
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIsTim Osborn
 
Sourcing by Source Code: Find the Code and You Find the Developer
Sourcing by Source Code: Find the Code and You Find the DeveloperSourcing by Source Code: Find the Code and You Find the Developer
Sourcing by Source Code: Find the Code and You Find the DeveloperRecruitingDaily.com LLC
 
Git in the European Parliament
Git in the European ParliamentGit in the European Parliament
Git in the European ParliamentJean-Pol Landrain
 
Introduction to git, an efficient distributed version control system
Introduction to git, an efficient distributed version control systemIntroduction to git, an efficient distributed version control system
Introduction to git, an efficient distributed version control systemAlbanLevy
 

Similar to GitHub/git+Cmake+Clion (20)

Git_Git_Lab_1664715263.pdf
Git_Git_Lab_1664715263.pdfGit_Git_Lab_1664715263.pdf
Git_Git_Lab_1664715263.pdf
 
14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx14 oct Git & GitHub.pptx
14 oct Git & GitHub.pptx
 
Spring Projects Infrastructure
Spring Projects InfrastructureSpring Projects Infrastructure
Spring Projects Infrastructure
 
Spring Projects Infrastructure
Spring Projects InfrastructureSpring Projects Infrastructure
Spring Projects Infrastructure
 
GDSC PCE Hacktoberfest 1.pptx
GDSC PCE Hacktoberfest 1.pptxGDSC PCE Hacktoberfest 1.pptx
GDSC PCE Hacktoberfest 1.pptx
 
Hacktoberfest GDSC Pillai College of Engineering
Hacktoberfest GDSC Pillai College of EngineeringHacktoberfest GDSC Pillai College of Engineering
Hacktoberfest GDSC Pillai College of Engineering
 
Gerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub pluginGerrit Code Review with GitHub plugin
Gerrit Code Review with GitHub plugin
 
Advance workshop on git
Advance workshop on gitAdvance workshop on git
Advance workshop on git
 
Git & GitHub
Git & GitHubGit & GitHub
Git & GitHub
 
Copy of GDSC Hacktober.pptx
Copy of GDSC Hacktober.pptxCopy of GDSC Hacktober.pptx
Copy of GDSC Hacktober.pptx
 
Mini git tutorial
Mini git tutorialMini git tutorial
Mini git tutorial
 
Digital Fabrication Studio v.0.2: Version Control System: Files
Digital Fabrication Studio v.0.2: Version Control System: FilesDigital Fabrication Studio v.0.2: Version Control System: Files
Digital Fabrication Studio v.0.2: Version Control System: Files
 
How I become Go GDE
How I become Go GDEHow I become Go GDE
How I become Go GDE
 
database.pptx
database.pptxdatabase.pptx
database.pptx
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
GIT-FirstPart.ppt
GIT-FirstPart.pptGIT-FirstPart.ppt
GIT-FirstPart.ppt
 
Sourcing by Source Code: Find the Code and You Find the Developer
Sourcing by Source Code: Find the Code and You Find the DeveloperSourcing by Source Code: Find the Code and You Find the Developer
Sourcing by Source Code: Find the Code and You Find the Developer
 
Git in the European Parliament
Git in the European ParliamentGit in the European Parliament
Git in the European Parliament
 
Git & GitHub N00bs
Git & GitHub N00bsGit & GitHub N00bs
Git & GitHub N00bs
 
Introduction to git, an efficient distributed version control system
Introduction to git, an efficient distributed version control systemIntroduction to git, an efficient distributed version control system
Introduction to git, an efficient distributed version control system
 

More from Igor Khokhryakov

X-Environment Metadata Management
X-Environment Metadata ManagementX-Environment Metadata Management
X-Environment Metadata ManagementIgor Khokhryakov
 
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...Igor Khokhryakov
 
Waltz-Controls presentation for Canadian Light Source
Waltz-Controls presentation for Canadian Light SourceWaltz-Controls presentation for Canadian Light Source
Waltz-Controls presentation for Canadian Light SourceIgor Khokhryakov
 
Waltz presentation at ASU and ANL
Waltz presentation at ASU and ANLWaltz presentation at ASU and ANL
Waltz presentation at ASU and ANLIgor Khokhryakov
 
1st Tango Users Group Russia meeting, overview
1st Tango Users Group Russia meeting, overview1st Tango Users Group Russia meeting, overview
1st Tango Users Group Russia meeting, overviewIgor Khokhryakov
 
Applying Enterprise technologies in Science
Applying Enterprise technologies in ScienceApplying Enterprise technologies in Science
Applying Enterprise technologies in ScienceIgor Khokhryakov
 

More from Igor Khokhryakov (7)

X-Environment Metadata Management
X-Environment Metadata ManagementX-Environment Metadata Management
X-Environment Metadata Management
 
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...
Observability of the SCADA Systems Using Elastic APM, Reactive Streams and As...
 
Waltz-Controls presentation for Canadian Light Source
Waltz-Controls presentation for Canadian Light SourceWaltz-Controls presentation for Canadian Light Source
Waltz-Controls presentation for Canadian Light Source
 
Waltz presentation at ASU and ANL
Waltz presentation at ASU and ANLWaltz presentation at ASU and ANL
Waltz presentation at ASU and ANL
 
TangoWebapp insights
TangoWebapp insightsTangoWebapp insights
TangoWebapp insights
 
1st Tango Users Group Russia meeting, overview
1st Tango Users Group Russia meeting, overview1st Tango Users Group Russia meeting, overview
1st Tango Users Group Russia meeting, overview
 
Applying Enterprise technologies in Science
Applying Enterprise technologies in ScienceApplying Enterprise technologies in Science
Applying Enterprise technologies in Science
 

Recently uploaded

maximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsmaximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsssuser82c38d
 
OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20Shane Coughlan
 
Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Asher Sterkin
 
LLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowLLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowNaoki (Neo) SATO
 
killing camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfkilling camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfssuser82c38d
 
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...ISPMAIndia
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfssuser82c38d
 
SPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementSPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementISPMAIndia
 
Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Jeffrey Haguewood
 
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...emili denli
 
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdfAUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdfAutokey
 
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ..."Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...ISPMAIndia
 
P1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetP1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetMatthewTHawley
 
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)GDSCNiT
 
sql ppt for students who preparing for sql
sql ppt for students who preparing for sqlsql ppt for students who preparing for sql
sql ppt for students who preparing for sqlbharatjanadharwarud
 
AI Product Management by Abhijit Bendigiri
AI Product Management by Abhijit BendigiriAI Product Management by Abhijit Bendigiri
AI Product Management by Abhijit BendigiriISPMAIndia
 
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkDBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkTimothy Spann
 
The Age of AI: Elevating Experiences & Delivering Customer Value!
The Age of AI: Elevating Experiences & Delivering Customer Value!The Age of AI: Elevating Experiences & Delivering Customer Value!
The Age of AI: Elevating Experiences & Delivering Customer Value!ISPMAIndia
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!Anthony Dahanne
 

Recently uploaded (20)

maximum subarray ppt for killing camp students
maximum subarray ppt for killing camp studentsmaximum subarray ppt for killing camp students
maximum subarray ppt for killing camp students
 
OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20OpenChain AI Study Group - North America and Europe - 2024-02-20
OpenChain AI Study Group - North America and Europe - 2024-02-20
 
Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024Essence of Requirements Engineering: Pragmatic Insights for 2024
Essence of Requirements Engineering: Pragmatic Insights for 2024
 
eLearning Content Development Company Code and Pixels.pdf
eLearning Content Development Company Code and Pixels.pdfeLearning Content Development Company Code and Pixels.pdf
eLearning Content Development Company Code and Pixels.pdf
 
LLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flowLLMOps with Azure Machine Learning prompt flow
LLMOps with Azure Machine Learning prompt flow
 
killing camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdfkilling camp week 6 problem - maximal matrix.pdf
killing camp week 6 problem - maximal matrix.pdf
 
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
Product Manager vs Product Owner – Why Do Companies Still Struggle 23 Years A...
 
killingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdfkillingcamp longest common subsequence.pdf
killingcamp longest common subsequence.pdf
 
SPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product ManagementSPM 2024 – Overview of and benefits of AI in Product Management
SPM 2024 – Overview of and benefits of AI in Product Management
 
Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)Automation for Bonterra Impact Management (fka Apricot)
Automation for Bonterra Impact Management (fka Apricot)
 
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
The Game-Changer_ How Software Development Outsource Can Catapult Your Growth...
 
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdfAUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
AUTOKEYUNLOCKER-BRANDS-SUPPORT-STANDARD-VERSION.pdf
 
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ..."Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
"Taking an idea to a Product in Health diagnostics" by Dr. Geetha Manjunath, ...
 
P1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 SmartsheetP1 Inspection Types in Municity 5 Smartsheet
P1 Inspection Types in Municity 5 Smartsheet
 
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
 
sql ppt for students who preparing for sql
sql ppt for students who preparing for sqlsql ppt for students who preparing for sql
sql ppt for students who preparing for sql
 
AI Product Management by Abhijit Bendigiri
AI Product Management by Abhijit BendigiriAI Product Management by Abhijit Bendigiri
AI Product Management by Abhijit Bendigiri
 
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and FlinkDBA Fundamentals Group: Continuous SQL with Kafka and Flink
DBA Fundamentals Group: Continuous SQL with Kafka and Flink
 
The Age of AI: Elevating Experiences & Delivering Customer Value!
The Age of AI: Elevating Experiences & Delivering Customer Value!The Age of AI: Elevating Experiences & Delivering Customer Value!
The Age of AI: Elevating Experiences & Delivering Customer Value!
 
No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!No more Dockerfiles? Buildpacks to help you ship your image!
No more Dockerfiles? Buildpacks to help you ship your image!
 

GitHub/git+Cmake+Clion

  • 1. GitHub/git +GitHub/git + CMake +CMake + CLionCLion
  • 3. 25.04.17 Igor Khokhriakov 3 Git “Git was created by Linus Torvalds in 2005 for development of the Linux kernel, with other kernel developers contributing to its initial development.” Wikipedia.org According to StackOverflow survey 2017 ~70% of developers are using git
  • 4. 25.04.17 Igor Khokhriakov 4 Key points about Git ● Strong support for non-linear development – a core assumption is that a change will be merged more often than it is written ● Distributed development – Git gives each developer a local copy of the full development history ● Efficient handling of large projects – an order of magnitude faster than some version control systems
  • 6. 25.04.17 Igor Khokhriakov 6 GitHub ● Hosting that provides git service ● Suddenly became a central feature in git ecosystem – My personal experience is that back in 2012 they did not have even in-line commit comment (vs bitbucket)
  • 7. 25.04.17 Igor Khokhriakov 7 Summary SourceForge/svn = GitHub/git aka Hosting/repository SourceForge/svn ≠ GitHub/git GitHub provides tons of features and integrations: travis, appveyor, read-the- docs, ...
  • 9. 25.04.17 Igor Khokhriakov 9 Git concept ● Simple case: one user; direct access to the remote repo – Create new file:
  • 10. 25.04.17 Igor Khokhriakov 10 Git concept – Working with branches: ● $> git branch my_branch ● $> git checkout my_branch – Shortcut: git checkout -b my_branch ● Do stuff ● $> git push -u my_branch origin – Merging branch into the master ● $> git checkout master ● $> git merge my_branch
  • 11. 25.04.17 Igor Khokhriakov 11 Git cheat sheet http://files.zeroturnaround.com/pdf/zt_git_cheat_sheet.pdf
  • 13. 25.04.17 Igor Khokhriakov 13 GitHub concept ● Contributing via Pull-Request (PR)
  • 14. 25.04.17 Igor Khokhriakov 14 GitHub concept – Creating a Pull-Request ● GitHub fork ● $> git clone … ● $> git checkout -b feature ● Do stuff ● $> git push ● GitHub create a Pull-Request ● Do more pushes
  • 15. 25.04.17 Igor Khokhriakov 15 GitHub concept – Rebasing onto master ● $> git pull –rebase upstream master ● $> git push – Closing the PR ● maintainer(s) approval(s) + tests passed ● GitHub megre PR ● $> git branch -d feature ● Sync fork master (origin) with upstream master – $> git checkout master; git pull upstream master
  • 17. 25.04.17 Igor Khokhriakov 17 https://www.atlassian.com/git/tutorials
  • 18. 25.04.17 Igor Khokhriakov 18 Keep in mind ● Git is very powerful and flexible – github.com/tango-controls/cppTango ● Merged 4 repositories ● Preserved commits history ● Preserved branches Do not hesitate to google the most astounding ideas aka How can I do X in git
  • 20. 25.04.17 Igor Khokhriakov 20 CMake ● Cross-platform build automatization tool ● Declarative scripting language for managing native projects ● Dependency management (via pkg-config or cmake modules) ● Testing ● Packaging
  • 21. 25.04.17 Igor Khokhriakov 21 CmakeLists.txt
  • 22. 25.04.17 Igor Khokhriakov 22 Build using cmake ● $> mkdir build ● $> cd build ● $> cmake .. ● $> make ● $> make install … better use IDE like CLion
  • 23. 25.04.17 Igor Khokhriakov 23 CMake guide lines ● Use the following directory structure: – configure – include – docs – src – test ● Use dedicated project when configuration is totally different from the root project
  • 24. 25.04.17 Igor Khokhriakov 24 CMake guide lines ● Split complex project into modules – add_library(my_module OBJECT …) ● Use CTest for integration testing. Unit tests must be independent ● Use CPack to generate packages and custom targets to deploy them – add_custom_target(COMMAND curl ...)
  • 25. 25.04.17 Igor Khokhriakov 25 Where get help? ● No good book :( ● Find some open-source project and explore it – https://github.com/pni-libraries/libpnicore – https://github.com/ufo-kit/ufo-core ● CMake itself... for gurus
  • 28. 25.04.17 Igor Khokhriakov 28 Agenda ● CMake support ● Navigation ● Refactoring ● Git integration ● Debugging ● Creating live templates
  • 29. 25.04.17 Igor Khokhriakov 29 CMake support File → settings OR ctrl+alt+s
  • 30. 25.04.17 Igor Khokhriakov 30 CMake support ● Run targets
  • 31. 25.04.17 Igor Khokhriakov 31 Navigation ● Find class: ctrl+n ● Find file: ctrl+shift+n ● Subclasses: ● Implementation &Override:
  • 32. 25.04.17 Igor Khokhriakov 32 Navigation ● Method lookup: ctrl+F12 OR structure tab ● Code navigation: ctrl+click on an item ● Find usages: Alt+F7
  • 33. 25.04.17 Igor Khokhriakov 33 Refactoring ● Rename: shift+F6 ● Change signature: ctrl+F6 ● Move entity: F6 ● Generate definitions: ctrl+shift+d ● Generate … : alt+insert ● Generate constructor that matches super
  • 34. 25.04.17 Igor Khokhriakov 34 Refactoring ● Extract method: highlight and ctrl+alt+m ● Extract variable: highlight and ctrl+alt+v ● Extract …: Refactoring → Extract – Constant – Parameter – Define – Typedef – Superclass – Subclass
  • 35. 25.04.17 Igor Khokhriakov 35 Git integration ● Compare with branch... ● Make pull request ● Resolve conflicts ● Rebase ● Etc: VCS → Git; context menu → Git ● Local changes&history:
  • 37. 25.04.17 Igor Khokhriakov 37 Live template creation
  • 38. 25.04.17 Igor Khokhriakov 38 https://www.jetbrains.com/help/clion/2017.1/reference.html

Editor's Notes

  1. $> git init $> git pull === $> git fetch & git merge $> git remote -v
  2. Switch to browser
  3. cppTango test/test_suite is a dedicated project
  4. Live template variables: https://www.jetbrains.com/help/clion/2017.1/creating-and-editing-template-variables.html