X-Git-Url: https://rtime.felk.cvut.cz/gitweb/hubacji1/oneflow.git/blobdiff_plain/ae8286f23e2dc1c61eb570058ba9030a48589334..refs/heads/master:/intro.md diff --git a/intro.md b/intro.md index 16202cb..56901f5 100644 --- a/intro.md +++ b/intro.md @@ -1,6 +1,6 @@ # Git is ... Source Code Management (SCM) and it's great. Check out https://git-scm.com/ for -details. +details. Maybe also https://githowto.com/ could be interesting. # Init - do it once per repository You may clone it like `git clone URL` or create one from a folder by `git @@ -109,9 +109,45 @@ Use `git commit` to store staged patches to git history. Moving patches and files between states described above is done by `git add` and `git reset` commands. -When sure that staged changes should be commited to the history, use `git -commit -m'COMMIT MSG'`. For commit messages, some rules are good to keep in -mind [1][]: +## Command `git add` +To stage patches in file (it means to take untracked or unstaged patches and +mark them as staged): +``` +git add -p FILENAME +``` + +To stage all the patches in file use: +``` +git add FILENAME +``` + +## Command `git reset` +To remove patches from staged state (remove from staging area is also used): +``` +git reset -p FILENAME +``` + +Or again for all the patches in file: +``` +git reset FILE +``` + +## Command `git commit` +When sure that staged changes should be commited to the history, use: +``` +git commit -m'COMMIT MSG' +``` + +Command without parameters will open text editor to let type the commit +message. +``` +git commit +``` + +Default text editor is `vim`. It can be closed by sequence `:q!`. + +Please, keep these [The seven rules of a great Git commit message][1] when +writing the git commit messages: - Separate subject from body with a blank line. - Limit the subject line to 50 characters. - Capitalize the subject line. @@ -120,6 +156,13 @@ mind [1][]: - Wrap the body at 72 characters. - Use the body to explain what and why vs. how. +If still it's lot to remember, the heuristics is that a properly formed Git +commit subject line should always be able to complete the following sentence: + +**If applied, this commit will your subject line here** + +[1]: https://chris.beams.io/posts/git-commit/ + # Cheat sheet Use `git COMMAND --help` for showing the help! @@ -144,11 +187,9 @@ Use `git COMMAND --help` for showing the help! - `git diff --cached` ## Commit -- `git add FILE` - `git add -p FILE` -- `git reset FILE` +- `git add FILE` - `git reset -p FILE` +- `git reset FILE` - `git commit -m'COMMIT MSG'` - `git commit` - -[1]: https://chris.beams.io/posts/git-commit/