Manager: Xyz Abc Xyz
Manager: Xyz Abc Xyz
different module, so we have to decide which programmer work on which module and assign
Means TL/Manager used to assign the task to each programmer and collect it manually.
MANAGER
1 2 3 4
It was very difficult for manager to check and find out bug from task even its very difficult to check
To eliminate the above drawback, we can use SCM system for versioning the work.
xyz
xyz
abc
In CVS all programmers submitted their work in central repository, so that manger can easily track all
the work done by programmers easily.
Each user checks the code of other users, how they are working, even they can track each other.
Then next work will be C & D which will continue by PC1, PC2 and PC3
CVCS
In CVCS a client needs to get local copy of source from server, do the changes and commit those
changes to central source on server.
Working on branches is difficult in CVCS for developer after faces merge conflict.
DVCS
In DVCS, each client can have a local branch as well, and have complete history of their commits.
Client needs to push their changes to local branch which will be then push to server repository.
DVCS system are working fine on offline mode a client copies the entire repository on their local
machine.
DVCS is faster as mostly user deals with local copy and communicate with server when necessary
If DVCS server is down, developer can work using their local copies.
Git Commands
-Update linux
yum update -y
-Install git
Check Version
git –version
Configure git
:q for exit
Create a folder
mkdir punegit
cd punegit
git init
After writing programes programmers can add their programs in staging area
Using command
git status
will show the all the untrack files( those files which are not commited yet)
.gitignore
Contains those files details or information
which are not part of git project
Process:
Vi .gitigonre
*.css
*.java
c*.cpp
sandeepfile
git add .
git commit “ my git ignore”
- git branch
will show the current branch
- git merge <branch name>
will merge the files of specified branch in master
- git branch <branch name> -d [-D forcefully]
delete the branch
Git Reset
Git Stash
Suppose you are implementing a new feature for your product, your code is in progress and suddenly
a customer escalation comes because of this, you have to keep aside your new feature work for few
hours.
You cannot commit your partial code and also you cannot throw away your changes, so you need
some temporary storage to safely store your previous work and later on you can retrieve your work
from that temporary storage as per your requirements.
Commands
git stash
Git revert
It does not delete any data in the process instead rather it creates a new commit with the
included files reverted to their previous state so, your version control history moves forward. While
the state of file moves backward.
Git Tags
Tag operations allows you to assign meaning full names to
specific version in the repository
To apply tags
git tag -a <tagname> -m “message” <commit id>
To Delete a tag
git tag -d <tagname>
Git Clone
It creates local repo automatically in Linux machine with the
same name as in GitHub account.