Skip to content

Instantly share code, notes, and snippets.

@petyosi
Created May 31, 2011 07:42
Show Gist options
  • Save petyosi/1000116 to your computer and use it in GitHub Desktop.
Save petyosi/1000116 to your computer and use it in GitHub Desktop.

Git на практика - част 1

Лекцията цели да представи бързо набралата популярност дистрибутирана система за source control. Ще инсталираме гит (на който няма). Ще демонстрираме с практически примери основните команди, както и с какво git се различава от централизираните системи (subversion, cvs, vss). Ако пък случайно има хора, които не са убедени в ползата от сорс контрол, ще поговорим защо това е необходимо. Носете си компютър.

Първа част има за цел да представи употребата на гит "еднолично" (сиреч, на един компютър). Във втора част, ако стане, ще говорим за това как да ползваме гит в екип.

Инсталация на (линукс, OS X, Windows)

Нашето първо repository

mkdir depot
cd depot
git init

h2. Commit!

echo "foo" > foo
git status
git add foo
git commit --message "Foo file added"
git status
git commit --amend

Преглед на историята

git log
git log -p
git show <commit>
git log path

Branch, Merge

git branch
git branch topic
git checkout topic
git commit --allow-empty --message="topic #1"
git commit --allow-empty --message="topic #2"
git checkout master
git commit --allow-empty --message="master #2"
git log
git log --all
git log --all --graph
git merge

git branch -d topic

git branch topic-2
git checkout topic-2

git commit --message="topic-2 #1"
git commit --message="topic-2 #2"

git checkout master
git merge topic-2
git branch -d topic-2

Rebase

git branch topic-3
git checkout topic-3
git commit --message="topic-3 #1"
git commit --message="topic-3 #2"
git checkout master
git commit --message="master #3"
git checkout topic-3
git rebase master

Да пренапишем историята!

git rebase -i origin/master

Да хвалим или да виним?

git blame foo.js

Няколко дребни трика, които могат да направят живота ви по-лесен.

git cherry-pick <commit>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment