=====Current wiki pages ===== ==== New (yes, new) Git pages as of February, 2019 ==== Every Git page below this section is a candidate for current updating -- many of those pages are still just fine, but are subject to improvement in the near future. * [[Git all commands]] * [[Git plumbing porcelain]] * [[Git init]] * [[Git config]] * [[Git clone]] * [[Git blame]] * [[Git aliases]] * [[Git branch]] * [[Git revisions]] * [[Git log]] * [[Git add rm]] * [[Git mv]] * [[Git commit]] * [[git_good_commits|What makes a good Git Commit?]] * [[Git shortlog]] * [[Git undoing things]] * [[Git revert]] * [[Git ignore]] * [[Git clean]] * [[Git searching]] * [[Git show]] * [[Git diff]] * [[Git merge]] * [[Git stash]] * [[Git rebase]] * [[Git hooks]] * [[Git bisect]] * [[Git worktree]] * [[Git count-objects]] * [[Git fsck]] * [[Git gc]] ==== Multi-level pages ==== * [[Git dealing with remotes]] ==== Working on ==== * [[Git clone]] * [[Git tag]] * [[Git reset]] * [[Git cherry-pick]] * [[Git reflog]] * [[Git attributes]] * [[Git submodules]] * [[Git for each ref]] ==== Specific topic pages ==== * [[Git instaweb]] * [[Git sharing objects]] * [[Git writing an arbitrary blob]] * [[Git move uncommitted changes to topic branch]] * [[Git bare shallow clones]] * [[Git install from source]] ==== Deprecated ==== * git prune (use git gc, which calls git prune) * git whatchanged (use git log) * git annotate (use git blame) ==== Additional reference info ==== * [[https://git.wiki.kernel.org/index.php/Git_FAQ#Can_I_add_empty_directories.3F|Git cannot track empty directories]] * [[https://git.wiki.kernel.org/index.php/Git_FAQ#Why_does_Git_not_.22track.22_renames.3F|Git does not track renames]] * [[https://git.wiki.kernel.org/index.php/Git_FAQ#How_do_I_edit_the_root_commit.3F|How do I edit the root commit?]] * [[https://git.wiki.kernel.org/index.php/Git_FAQ#How_do_I_clone_a_repository_with_all_remotely_tracked_branches.3F|How do I clone a repository with all remotely tracked branches?]] * [[https://git.wiki.kernel.org/index.php/Git_FAQ#How_do_I_recover_uncommitted_changes.3F|How do I recover uncommitted changes?]] * [[https://unix.stackexchange.com/questions/233327/is-it-possible-to-clone-only-part-of-a-git-project|sparse checkout]] ===== External links ===== * [[https://git-scm.com/book/en/v2|Pro Git book]] * [[https://www.kernel.org/pub/software/scm/git/docs/|kernel.org Git docs]] * [[https://git.seveas.net/|Git Cookbook]] * [[git_atlassian_content|Git Atlassian content]] ===== Stuff to ponder, resolve and add somewhere ===== * WRT next commit, what is in the index is all that matters. * ''git ls-files'' * More people should read ''man gitcli''. Seriously. * ''git log %%--%%remove-empty'' -- stop when a given path disappears. * ''git reset'' will not delete files it does not track, including files it is told to ignore. * ''git push'' will not affect the remote working tree; try to avoid pushing to non-bare repos * ''git config %%--%%global alias.unadd "reset HEAD"'' * ''git rev-list HEAD | tail -1'' to get root commit * Config variable ''checkout.defaultRemote'' * use ''git fsck'' to track down staged, then reset files (''git show'') * reset a file with ''git checkout -p'' * ''git rm -rf :/ && git checkout commit-ish -- :/'' * Danger with reverting a merge commit. * Renaming: * ''git log -M'' * ''git push origin +branchname'' * ''git checkout -b maint origin/maint'' * What files changed in a given commit? ''git diff --name-only ^!'' ===== Other stuff to add (not sure where) ===== * comprehensive guide to dealing with whitespace issues * branch names and wildcarding * ''git cat-file -p HEAD'' * ''git ls-tree -r HEAD'' * ''git ls-files -s'' * [[https://stackoverflow.com/questions/161928/what-are-git-info-grafts-for|replace/graft]] * smudge and clean filters ===== New/adequate as of May 20, 2018 or later ===== ==== Advanced Git === * [[git whitespace]] * [[git clone variations]] ==== Need updating ==== * [[git_rev_list|git rev-list]] * [[git_subtree|Git subtrees]] * [[git workflow|Git Workflow]] * [[git_github_workflow|GitHub workflow]] * [[git fedora packages|Git Fedora packages]]