Open main menu

Changes

no edit summary
Credit: there's a clear explanation at https://www.git-tower.com/learn/git/faq/undo-last-commit
 
==Good and Consistent commit messages==
You hopefully know what constitutes a [https://cbea.ms/git-commit/ good] [https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html commit message]. What about consistency? Say you need to add standard language to every commit message like
<tt>"This work was performed for NASA GRC-ATF by WikiWorks per NASA Contract NNC15BA02B."</tt>
 
To consistently format your commit messages, use the configuration parameter <code>commit.template</code> which you can do with <code>git config</code>, or else in your ~/.gitconfig file. Here's my [[Git/commit.template|commit.template]]
 
https://thoughtbot.com/blog/5-useful-tips-for-a-better-commit-message
 
The GitLab project uses the concept of commit templates<ref>https://docs.gitlab.com/ee/user/project/merge_requests/commit_templates.html</ref>
 
==Git Branch==
<br />
== Rewriting History ==
Developers need git as a way to track changes and collaborate on software. Release Engineers need git, and '''higher-level''' tools to manage entire repositories of code. Whether Developer or Release Engineer, sometimes you need a do over.
When [https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History rewriting history in your git project], If an interactive git rebase using 'edit' or 'reword' doesn't suffice for your use-case, you are probably looking for a higher-level tool.
To make subtle changes, or even large changes on a whole series of commits in a git repository, [https://github.com/newren/git-filter-repo/ <code>git filter-repo</code>](Python) is that tool. The git maintainers themselves do '''NOT''' recommend using <code>git filter-branch</code> - which is slow and painful and prone to problems. Consult the '''Git Filter Repo''' [https://htmlpreview.github.io/?https://github.com/newren/git-filter-repo/blob/docs/html/git-filter-repo.html User Manual] for examples. {{References}}
[[Category:Development]]
[[Category:Version Control]]