Agenda
- Characteristics
- Basic Work Flows
- Concepts and Terms
- Commands in Categories
- Data Structures
- References
Git Characteristics
- Distributed (Decentralized)
- Separating Commits from Publishing
- Complete History and Complete Repository
- Integrity and Trust
- Merge Effectively
- Performance
Basic Workflows
- Init/clone
- Add
- Commit
- Clone
- Push
- Pull
- Status
- Diff
- Branch
- Tag
- Help
Git Concepts and Terms
- Repository (Bare, Development(non-bare))
- Stage
- Working Directory
- Forking
- Branch
- Tag
- Remote
- Tracking Branch
- Hook
Commands in Categories
Getting and Creating Projects
Basic Snapshotting
- Add
- ls-files
- Status
- Diff
- Commit
- Reset
- Rm
- Mv
- stash
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Miscellaneous
- rev-list
- Alias
- Config
- Show-branch
- Show
- Bisect
- Format-patch
- Send-email
- Am
- Apply
- Rebase
Data structures
References
#some hands on of git commands
#lib.sh
num_from_to ()
{
from=$1
to=$2
i=$from
result=""
while [ $i -le $to ]; do
result="$result $i"
i=` expr $i + 1`
done
echo $result
}
commit ()
{
file_name=$1
from=$2
to=$3
for i in `num_from_to $from $to` ; do
echo $i >> $file_name
git add $file_name
git commit -m "$i"
done
}
#clone_bare.sh
source lib.sh
cd $WS
rm -rf hello.git
rm -rf hello
rm -rf hello2
mkdir hello
cd hello
git init
commit tst.txt 1 3
cd $WS
git clone --bare $WS/hello hello.git
git clone $WS/hello.git hello2
cd hello2
commit tst.txt 4 5
commit hi_git.txt 6 8
git push
cd $WS
cd hello
git remote add origin $WS/hello.git
git remote update
#sleep 8
git branch --set-upstream master origin/master
git show-branch
git remote show origin
git pull
git log -p
git branch feature
git branch -a
git checkout feature
commit hi_git.txt 9 10
git checkout master
git merge feature
commit hi_git.txt 11 12
git tag 1.0.0
git tag -l
git show 1.0.0