SlideShare a Scribd company logo
Git usage
(Basics and workflow)
- YEASIN ABEDIN SIAM (NAUTISK TEAM)
- HASAN IBRAHIM SHUVO (NAUTISK TEAM)
What is Git?
 Version Controlling System
 Distributed Mechanism
 Thus if any server dies, and these systems were collaborating via it, any of
the client repositories can be copied back up to the server to restore it
Centralized vs Decentralized VCS
 Centralized version control systems are based on the idea that there is a
single “central” copy of your project somewhere (probably on a server),
and programmers will “commit” their changes to this central copy.
 “Committing” a change simply means recording the change in the central
system. Other programmers can then see this change. They can also pull
down the change, and the version control tool will automatically update the
contents of any files that were changed.
 Example CVS, Subversion (or SVN) and Perforce
Centralized vs Decentralized…
Git tools
 Install Git
 Install Git Client (TortoiseGit, SourceTree, Git for VisualStudio)
 Some client includes git as well (example Github Desktop, SourceTree)
Working with Git
 To start working with Git, you just need to run the "git init" command. It
turns the current directory into the Git working directory and creates the
repository in the .git (hidden) directory it creates there.
 The “git add” command adds untracked file in the staging area.
 The “git commit” command commits the changes in the file.
 The “git checkout” checks out a branch from repository into the working
directory
Git Workflow
File tracking
Git sees every file in your working copy as one of three things:
 tracked - a file which has been previously staged or committed;
 untracked - a file which has not been staged or committed; or
 ignored - a file which Git has been explicitly told to ignore.
.gitignore file
 Dependency caches, such as the contents of /node_modules or /packages
 Compiled code, such as .o, .pyc, and .class files
 Build output directories, such as /bin, /out, or /target
 Files generated at runtime, such as .log, .lock, or .tmp
 personal IDE configuration files, such as .idea/workspace.xml
 Existing ignore patterns : https://github.com/github/gitignore
Git Ignore Patterns
Git vs SVN
 Git is distributed system whereas SVN is centralized.
 Git is faster than SVN.
 Git repositories are much smaller than SVN.
 Git are simpler and lees resource heavy than SVN’s.
 Git tracks content unlike SVN’s file tracking
 Merging is simpler in Git; because you don’t need to remember the last
revision you merged from which is required in SVN.
 Git is perfectly suited for Open Source projects: Just Fork it, commit your
changes to your own Fork, and then ask the original project maintainer to
pull your changes.
Git vs Mercurial
 Mercurial is much simpler than Git.
 Git has better history control than Mercurial.
 Branching is more powerful in Git.
 Git has staging area, mercurial doesn’t have
 Mercurial has better GUI support
GitFlow
What is GitFlow?
 GitFlow is a branching model for Git.
 Created by Vincent Driessen.
 Well suited to collaboration and scaling the development team.
Motivations
 Parallel Development
 Collaboration
 Release staging area
 Support for emergency fixes
Branches
 Feature branch
 Develop branch
 Release branch
 Hotfix branch
 Master branch
Feature Branch
 Feature branches are started off of the develop branch.
 Finished features and fixes are merged back into the develop
branch when they’re ready for release
Feature Branch
Release
 When it is time to make a release, a release branch is created off
of develop branch
 The code in the release branch is deployed onto a suitable test
environment, tested, and any problems are fixed directly in the release
branch. This deploy -> test -> fix -> redeploy -> retest cycle continues
until you’re happy that the release is good enough to release to customers.
 When the release is finished, the release branch is merged
into master and into develop too, to make sure that any changes made in
the release branch aren’t accidentally lost by new development.
Release
Master Branch
 The master branch tracks released code only.
 The only commits to master are merges from release
branches and hotfix branches.
Hotfix Branch
Hotfix branches are used to create emergency fixes.
Hotfix Branch
Git Usage Scenario
Git Stash
 We have changes which are temporary
 But, we don’t want to commit this
 Neither, we want to loose it
 Stash saves state of current working changes
 But Git does not track them for commit
 We can compare working copy with stash
 Stash can be merged to master
Git Rebase
Git Rebase…
Git Rebase…
Git Rebase…
Git Rebase…
Git Rebase…
Use case : Remove faulty push
 Some faulty commits has been pushed to remote
 We want to revert back
 How can we do this?
Solution
 Reset master to a commit which is Stable (Hard Reset - local)
 Now, you are in master and do a FORCE PUSH.
 git push -f origin master:master # force push
Cherry Pick
 You're working in a feature branch
 Isn't quite ready for a full merge.
 But you do have a few commits in there that you want to push to master
 We can do this by Cherry Pick
 Allow us to merge specific number of commits
Refrences
 https://git-scm.com/book/en/v2/Getting-Started-Git-Basics
 https://www.ibm.com/developerworks/library/d-learn-workings-
git/index.html
 https://www.atlassian.com/git/tutorials/gitignore
 https://www.atlassian.com/git/tutorials/gitignore#git-ignore-patterns
 https://datasift.github.io/gitflow/IntroducingGitFlow.html
 http://nvie.com/posts/a-successful-git-branching-model/
Ad

Recommended

Git
Git
Mayank Patel
 
Git presentation
Git presentation
Sai Kumar Satapathy
 
Git tutorial git branches 20131206-Bryan
Git tutorial git branches 20131206-Bryan
LearningTech
 
Git Series. Episode 2. Merge, Upstream Commands and Tags
Git Series. Episode 2. Merge, Upstream Commands and Tags
Mikhail Melnik
 
Git
Git
Shinu Suresh
 
Git and git flow
Git and git flow
Fran García
 
Git Tricks — git utilities that make life git easier
Git Tricks — git utilities that make life git easier
Christoph Matthies
 
Git branching-model
Git branching-model
Aaron Huang
 
Subversion to Git Migration
Subversion to Git Migration
Manish Chakravarty
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
 
Intro to git and git hub
Intro to git and git hub
Venkat Malladi
 
Git basics to advance with diagrams
Git basics to advance with diagrams
Dilum Navanjana
 
Git and GitFlow branching model
Git and GitFlow branching model
Pavlo Hodysh
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Parag Gajbhiye
 
Git branching strategies
Git branching strategies
jstack
 
Git the fast version control system
Git the fast version control system
Jeroen Rosenberg
 
Webinar : SVN to GIT Migration
Webinar : SVN to GIT Migration
Newt Global Consulting LLC
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
Vivek Parihar
 
Git flow
Git flow
Suraj Aair
 
Git and git hub
Git and git hub
Sebastiaan Deckers
 
Git Pull Requests
Git Pull Requests
Callon Campbell
 
Git - Simplified For Testers
Git - Simplified For Testers
upadhyay_25
 
Git & Github
Git & Github
Aman Lalpuria
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
lenamattt
 
Git tutorial
Git tutorial
mobaires
 
Git introduction
Git introduction
Ivan Adhi Prasetya
 
Git and GitHub workflows
Git and GitHub workflows
Arthur Shvetsov
 
01 - Git vs SVN
01 - Git vs SVN
Edward Goikhman
 
GIT In Detail
GIT In Detail
Haitham Raik
 

More Related Content

What's hot (20)

Subversion to Git Migration
Subversion to Git Migration
Manish Chakravarty
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
 
Intro to git and git hub
Intro to git and git hub
Venkat Malladi
 
Git basics to advance with diagrams
Git basics to advance with diagrams
Dilum Navanjana
 
Git and GitFlow branching model
Git and GitFlow branching model
Pavlo Hodysh
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Parag Gajbhiye
 
Git branching strategies
Git branching strategies
jstack
 
Git the fast version control system
Git the fast version control system
Jeroen Rosenberg
 
Webinar : SVN to GIT Migration
Webinar : SVN to GIT Migration
Newt Global Consulting LLC
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
Vivek Parihar
 
Git flow
Git flow
Suraj Aair
 
Git and git hub
Git and git hub
Sebastiaan Deckers
 
Git Pull Requests
Git Pull Requests
Callon Campbell
 
Git - Simplified For Testers
Git - Simplified For Testers
upadhyay_25
 
Git & Github
Git & Github
Aman Lalpuria
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
lenamattt
 
Git tutorial
Git tutorial
mobaires
 
Git introduction
Git introduction
Ivan Adhi Prasetya
 
Git and GitHub workflows
Git and GitHub workflows
Arthur Shvetsov
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
 
Intro to git and git hub
Intro to git and git hub
Venkat Malladi
 
Git basics to advance with diagrams
Git basics to advance with diagrams
Dilum Navanjana
 
Git and GitFlow branching model
Git and GitFlow branching model
Pavlo Hodysh
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Parag Gajbhiye
 
Git branching strategies
Git branching strategies
jstack
 
Git the fast version control system
Git the fast version control system
Jeroen Rosenberg
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
Vivek Parihar
 
Git - Simplified For Testers
Git - Simplified For Testers
upadhyay_25
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
lenamattt
 
Git tutorial
Git tutorial
mobaires
 
Git and GitHub workflows
Git and GitHub workflows
Arthur Shvetsov
 

Similar to Git usage (Basics and workflow) (20)

01 - Git vs SVN
01 - Git vs SVN
Edward Goikhman
 
GIT In Detail
GIT In Detail
Haitham Raik
 
Git basics for beginners
Git basics for beginners
PravallikaTammisetty
 
Lets git to it
Lets git to it
Yoram Michaeli
 
GIT.pptx
GIT.pptx
Soumen Debgupta
 
Git with the flow
Git with the flow
Dana White
 
github ppt git ppt on git hub to know ab
github ppt git ppt on git hub to know ab
infoinnext
 
Introducing Git and git flow
Introducing Git and git flow
Sebin Benjamin
 
Getting Git...before it gets you
Getting Git...before it gets you
Jeremy Brown
 
An introduction to Git and GitFlow
An introduction to Git and GitFlow
Mark Everard
 
GIT_training_SoftServeBulgaria2016
GIT_training_SoftServeBulgaria2016
Peter Denev
 
Git more done
Git more done
Kwen Peterson
 
git Technologies
git Technologies
Hirantha Pradeep
 
Git Basics for Software Version Management
Git Basics for Software Version Management
ishanmittal49
 
Source Control Using Git
Source Control Using Git
Chris Mylonas
 
Git - Version Control System
Git - Version Control System
Namig Hajiyev
 
Git
Git
Okba Mahdjoub
 
Presentation on Repository Control System
Presentation on Repository Control System
Md. Mujahid Islam
 
git.ppt.pptx power point presentation got Google internet
git.ppt.pptx power point presentation got Google internet
rani marri
 
Git walkthrough
Git walkthrough
Bimal Jain
 
Git with the flow
Git with the flow
Dana White
 
github ppt git ppt on git hub to know ab
github ppt git ppt on git hub to know ab
infoinnext
 
Introducing Git and git flow
Introducing Git and git flow
Sebin Benjamin
 
Getting Git...before it gets you
Getting Git...before it gets you
Jeremy Brown
 
An introduction to Git and GitFlow
An introduction to Git and GitFlow
Mark Everard
 
GIT_training_SoftServeBulgaria2016
GIT_training_SoftServeBulgaria2016
Peter Denev
 
Git Basics for Software Version Management
Git Basics for Software Version Management
ishanmittal49
 
Source Control Using Git
Source Control Using Git
Chris Mylonas
 
Git - Version Control System
Git - Version Control System
Namig Hajiyev
 
Presentation on Repository Control System
Presentation on Repository Control System
Md. Mujahid Islam
 
git.ppt.pptx power point presentation got Google internet
git.ppt.pptx power point presentation got Google internet
rani marri
 
Git walkthrough
Git walkthrough
Bimal Jain
 
Ad

Recently uploaded (20)

AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Improving Data Integrity: Synchronization between EAM and ArcGIS Utility Netw...
Safe Software
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
cnc-processing-centers-centateq-p-110-en.pdf
cnc-processing-centers-centateq-p-110-en.pdf
AmirStern2
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Seminar: Authentication for a Billion Consumers - Amazon.pptx
FIDO Alliance
 
UserCon Belgium: Honey, VMware increased my bill
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Ad

Git usage (Basics and workflow)

  • 1. Git usage (Basics and workflow) - YEASIN ABEDIN SIAM (NAUTISK TEAM) - HASAN IBRAHIM SHUVO (NAUTISK TEAM)
  • 2. What is Git?  Version Controlling System  Distributed Mechanism  Thus if any server dies, and these systems were collaborating via it, any of the client repositories can be copied back up to the server to restore it
  • 3. Centralized vs Decentralized VCS  Centralized version control systems are based on the idea that there is a single “central” copy of your project somewhere (probably on a server), and programmers will “commit” their changes to this central copy.  “Committing” a change simply means recording the change in the central system. Other programmers can then see this change. They can also pull down the change, and the version control tool will automatically update the contents of any files that were changed.  Example CVS, Subversion (or SVN) and Perforce
  • 5. Git tools  Install Git  Install Git Client (TortoiseGit, SourceTree, Git for VisualStudio)  Some client includes git as well (example Github Desktop, SourceTree)
  • 6. Working with Git  To start working with Git, you just need to run the "git init" command. It turns the current directory into the Git working directory and creates the repository in the .git (hidden) directory it creates there.  The “git add” command adds untracked file in the staging area.  The “git commit” command commits the changes in the file.  The “git checkout” checks out a branch from repository into the working directory
  • 8. File tracking Git sees every file in your working copy as one of three things:  tracked - a file which has been previously staged or committed;  untracked - a file which has not been staged or committed; or  ignored - a file which Git has been explicitly told to ignore.
  • 9. .gitignore file  Dependency caches, such as the contents of /node_modules or /packages  Compiled code, such as .o, .pyc, and .class files  Build output directories, such as /bin, /out, or /target  Files generated at runtime, such as .log, .lock, or .tmp  personal IDE configuration files, such as .idea/workspace.xml  Existing ignore patterns : https://github.com/github/gitignore
  • 11. Git vs SVN  Git is distributed system whereas SVN is centralized.  Git is faster than SVN.  Git repositories are much smaller than SVN.  Git are simpler and lees resource heavy than SVN’s.  Git tracks content unlike SVN’s file tracking  Merging is simpler in Git; because you don’t need to remember the last revision you merged from which is required in SVN.  Git is perfectly suited for Open Source projects: Just Fork it, commit your changes to your own Fork, and then ask the original project maintainer to pull your changes.
  • 12. Git vs Mercurial  Mercurial is much simpler than Git.  Git has better history control than Mercurial.  Branching is more powerful in Git.  Git has staging area, mercurial doesn’t have  Mercurial has better GUI support
  • 14. What is GitFlow?  GitFlow is a branching model for Git.  Created by Vincent Driessen.  Well suited to collaboration and scaling the development team.
  • 15. Motivations  Parallel Development  Collaboration  Release staging area  Support for emergency fixes
  • 16. Branches  Feature branch  Develop branch  Release branch  Hotfix branch  Master branch
  • 17. Feature Branch  Feature branches are started off of the develop branch.  Finished features and fixes are merged back into the develop branch when they’re ready for release
  • 19. Release  When it is time to make a release, a release branch is created off of develop branch  The code in the release branch is deployed onto a suitable test environment, tested, and any problems are fixed directly in the release branch. This deploy -> test -> fix -> redeploy -> retest cycle continues until you’re happy that the release is good enough to release to customers.  When the release is finished, the release branch is merged into master and into develop too, to make sure that any changes made in the release branch aren’t accidentally lost by new development.
  • 21. Master Branch  The master branch tracks released code only.  The only commits to master are merges from release branches and hotfix branches.
  • 22. Hotfix Branch Hotfix branches are used to create emergency fixes.
  • 25. Git Stash  We have changes which are temporary  But, we don’t want to commit this  Neither, we want to loose it  Stash saves state of current working changes  But Git does not track them for commit  We can compare working copy with stash  Stash can be merged to master
  • 32. Use case : Remove faulty push  Some faulty commits has been pushed to remote  We want to revert back  How can we do this?
  • 33. Solution  Reset master to a commit which is Stable (Hard Reset - local)  Now, you are in master and do a FORCE PUSH.  git push -f origin master:master # force push
  • 34. Cherry Pick  You're working in a feature branch  Isn't quite ready for a full merge.  But you do have a few commits in there that you want to push to master  We can do this by Cherry Pick  Allow us to merge specific number of commits
  • 35. Refrences  https://git-scm.com/book/en/v2/Getting-Started-Git-Basics  https://www.ibm.com/developerworks/library/d-learn-workings- git/index.html  https://www.atlassian.com/git/tutorials/gitignore  https://www.atlassian.com/git/tutorials/gitignore#git-ignore-patterns  https://datasift.github.io/gitflow/IntroducingGitFlow.html  http://nvie.com/posts/a-successful-git-branching-model/