Er bestaan GUI's, waarom CLI?
git config --global user.name "Lene Van Vreckem" git config --global user.email "lene.vanvreckem@gmail.com" git config --global push.default simple
$ mkdir my_project $ cd my_project/ $ git init Initialized empty Git repository in /home/bert/linux/my_project/.git/ $ git status On branch master Initial commit nothing to commit (create/copy files and use "git add" to track)
Bestand(en) aanmaken of wijzigen:
$ vi README.md $ git status On branch master Initial commit Untracked files: (use "git add <file>..." to include in what will be committed) README.md nothing added to commit but untracked files present (use "git add" to track)
Bestand naar staging verplaatsen: git add
$ git add README.md $ git status On branch master Initial commit Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: README.md
Wijzigingen doorvoeren (Inchecken, committen): git commit
$ git commit -m "README toegevoegd" [master (root-commit) aadfd67] README toegevoegd 1 file changed, 3 insertions(+) create mode 100644 README.md $ git status On branch master nothing to commit, working directory clean
Lokale wijzigingen aan README.md ongedaan maken:
git checkout -- README.md
README.md opnieuw uit staging halen :
git reset HEAD README.md
git status herinnert telkens aan deze commando's!
daringfireball.net/projects/markdown/
*~ # Text editor backups (Linux) *.bak build/ # directory with compiled files
Wijzigingen van working copy t.o.v. repository:
$ git diff diff --git a/README.md b/README.md index ea596b8..3d13212 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ # README Dit is mijn eerste Git repository! + +Deze lijn is gewijzigd
$ git log commit 97deea303754171c717291387af87e9b891f28fb Author: Bert Van Vreckem <bert.vanvreckem@gmail.com> Date: Sat Nov 15 16:50:20 2014 +0100 Added .gitignore commit aadfd674f5dec9205fde484a5d921041b256b135 Author: Bert Van Vreckem <bert.vanvreckem@gmail.com> Date: Sat Nov 15 14:47:46 2014 +0100 README toegevoegd $ git log --pretty="format:%C(yellow)%h %C(blue)%ad %C(reset)%s%C(red)%d %C(green)%an%C(reset), %C(cyan)%ar" --date=short --graph * 97deea3 2014-11-15 Added .gitignore (HEAD, master) Bert Van Vreckem, 22 minutes ago * aadfd67 2014-11-15 README toegevoegd Bert Van Vreckem, 2 hours ago
"Bladwijzers" in commit history
NB. Ik heb academische licenties voor JIRA (+ Agile), Bamboo, Bitbucket, Clover (code coverage)
Zie https://help.github.com/articles/generating-ssh-keys/
[lene@jace ~]$ ssh-keygen -t rsa -C "lene@example.com" Generating public/private rsa key pair. Enter file in which to save the key (/home/lene/.ssh/id_rsa): [ENTER] Created directory '/home/lene/.ssh'. Enter passphrase (empty for no passphrase): [ENTER] Enter same passphrase again: [ENTER] Your identification has been saved in /home/lene/.ssh/id_rsa. Your public key has been saved in /home/lene/.ssh/id_rsa.pub. The key fingerprint is: e7:fe:2b:ca:09:87:61:26:90:2a:d1:7f:8c:2c:8b:18 lene@example.com The key's randomart image is: +--[ RSA 2048]----+ | | | . . | |. + | | o + o | |E . = * S . | |oo o = o o | |o . o . . | | + o. | | +..oo. | +-----------------+ [lene@jace ~]$ cat .ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKGL1YqIK/67bYib2FaVnRVnlTVJHxUq+DtF3e1aDCZYAWzIYK+MTceW1Qg0fuAlYc5qvUCMmSy9eWgnG8jS8PU7DWgOjIbLtbqTLBDwGEUgMNhRc2wHwYiZqIswe9nr4/zMFW4AVd/GpOXiFjTfXZoLCh2m0+NcB5Z1OoiMv3vti1OsMZJ1ECIDZ5QGkju2bhyZpqsQ7FYUZT3CYkCwsKVVZJUoEU09A5DyhakZJedIMO5Qdlinu45qKjQwJr9t5Dw75pRcHarMHVCQJKwIv3wRzO1PImhk45rjHsBGWYPH4bfistbFbTLrWbdPZYlYrk2hI3z15O4TrGHasBPCMx lene@example.com
Maak op Github een nieuwe repository aan (bv. my_project)
$ git remote add origin git@github.com:bertvv/my_project.git $ git remote -v origin git@github.com:bertvv/my_project.git (fetch) origin git@github.com:bertvv/my_project.git (push) $ git push -u origin master
Stel, je wil verder werken aan het project van iemand anders:
$ git clone git@github.com:bertvv/my_project.git Cloning into 'my_project'... remote: Counting objects: 9, done. remote: Compressing objects: 100% (6/6), done. Receiving objects: 100% (9/9), done. remote: Total 9 (delta 0), reused 9 (delta 0) Checking connectivity... done.
Bert en Lene werken samen aan een project. Als dat maar goed afloopt...
Branches zijn goedkoop en eenvoudig, gebruik is sterk aanbevolen
Geschikt voor voortdurend evoluerende software, geen aparte versies te onderhouden (vb. SaaS)
Geschikt voor software met "releases" die je moet blijven onderhouden
Experimenteer!
en wil ervaringen delen?