Skip to content

Project Commits Page

All Commits

While working with a project, you can view its commit history and the history for individual branches.

Commit History

Click on a commit title to view the changes in detail.

Switch between branches to see the complete change history of the project.

Branch Switching

Comparing Commits

On this tab, you can compare changes between commits by specifying their tags or hashes.

Commit Comparison

Differences in Commit History Display

Using Git, you can view the commit history in a repository in several ways:

  • The git log command displays the complete commit history
  • The git log <path> command displays the file change history

These two ways of viewing commits may sometimes show different information.

Full Repository History (git log)

The git log command provides a detailed view and displays the history of all commits in the repository, starting from the latest commit. Commits are shown in chronological order, with the newest commit at the top.

File History (git log <path>)

When Git shows the history of a single file (git log <path>), it simplifies the history by skipping commits that did not change the file. Instead of checking every commit for its effect on the file, Git will skip an entire branch if that branch did not affect the file's final contents after merging. Commits in the branch that did affect the file will not be shown.

This makes browsing branches more efficient, as you see only commits that impact the file. However, the simplified view does not always contain all the information you might need.

You can learn more about this by running git help log in the History Simplification section or in the Git documentation.

Example

Let's say we are working in the project project. Add an empty file GitFlic.md to the master branch and commit the changes:

cd project
touch GitFlic.md
(master) > git add GitFlic.md
(master) > git commit "Added empty file GitFlic.md"

Create a branch master -> dev and add some text to GitFlic.md, for example:

GitFlic -
The first Russian platform for working with code.

Commit the changes:

(dev) > git commit "Added information to GitFlic.md"

Now, let's change our mind and make GitFlic.md empty again:

(dev) > git commit "Made GitFlic.md empty"

Merge the dev branch into master and look at the commit logs:

(master) > git log --graph --oneline

* 3ec8251 (HEAD -> master, origin/master) Merged with dev

|\

| * d00f2c9 (origin/dev, dev) Made GitFlic.md empty

| * 1bce7a3 Added information to GitFlic.md

|/

* d701536 Added empty file GitFlic.md

At the same time, viewing the change history of the file will only show one commit — the one containing substantial changes (in this case, the creation of the empty file):

(master) > git log --graph --oneline GitFlic.md

* d701536 Added empty file GitFlic.md

Reverting Commits

You can revert a selected commit by using the button on the right side of the commit in the commit list page.

Reverting is done similarly to the git revert command: a new commit will be created that undoes the changes of the selected commit.

There is also an option to create a new branch for the revert.

Revert Commit

After reverting, a new commit titled Revert "" will appear in the list.</p> <h2 id="cherry-pick">Cherry-pick</h2> <p>This function allows you to transfer changes from a commit in the selected branch to another branch.</p> <p>To use this function, open the commit you want to transfer and select cherry-pick from the "More" dropdown menu.</p> <p>Select the target branch and click "Execute". If there are no conflicts, the commit will be applied to the target branch.</p> <p><a class="glightbox" href="../../../src/project/commit-4.png" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="cherry-pick" src="../../../src/project/commit-4.png" /></a></p> <p>When performing a cherry-pick, you can create a Merge Request for the changes to the target branch. To do this, enter the name of the new branch that will contain the changes from the selected commit. After that, the Merge Request creation window for the new branch and the target branch will open.</p> <p><a class="glightbox" href="../../../src/project/commit-5.png" data-type="image" data-width="auto" data-height="auto" data-desc-position="bottom"><img alt="Creating cherry-pick" src="../../../src/project/commit-5.png" /></a></p> <div class="admonition info"> <p class="admonition-title">Automated translation!</p> <p>This page was translated using automatic translation tools. The text may contain inaccuracies.</p> </div> <aside class="md-source-file"> <span class="md-source-file__fact"> <span class="md-icon" title="Last update"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="August 1, 2025 15:56:00 UTC">August 1, 2025</span> </span> <span class="md-source-file__fact"> <span class="md-icon" title="Contributors"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 4a4 4 0 0 1 4 4 4 4 0 0 1-4 4 4 4 0 0 1-4-4 4 4 0 0 1 4-4m0 10c4.42 0 8 1.79 8 4v2H4v-2c0-2.21 3.58-4 8-4"/></svg> </span> <nav> <a href="mailto:shitov.d@gitflic-team.ru">Dmitriy Shitov</a> </nav> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type="button" class="md-top md-icon" data-md-component="top" hidden> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class="md-footer"> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> <div class="md-copyright__highlight"> <a href="https://gitflic.ru">gitflic.ru</a> </div> </div> <div class="md-social"> <a href="mailto:support@gitflic.ru" target="_blank" rel="noopener" title="" class="md-social__link"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M64 112c-8.8 0-16 7.2-16 16v22.1l172.5 141.6c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16zM48 212.2V384c0 8.8 7.2 16 16 16h384c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0zM0 128c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64z"/></svg> </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <script id="__config" type="application/json">{"base": "../../..", "features": ["navigation.tracking", "navigation.instant", "navigation.indexes", "navigation.top", "navigation.path", "toc.follow", "search.suggest", "search.highlight", "content.tabs.link", "content.code.copy", "content.code.annotate", "content.version", "content.footer.last-modified", "content.footer.authors"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src="../../../assets/javascripts/bundle.56ea9cef.min.js"></script> <script src="../../../build/version-selector.js"></script> <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"}); document$.subscribe(() => { lightbox.reload() }); </script></body> </html>