mirror of
https://github.com/git/git.git
synced 2024-10-20 22:48:24 +02:00
d3115660b4
It can be helpful when creating a new branch to use the existing tracking configuration from the branch point. However, there is currently not a method to automatically do so. Teach git-{branch,checkout,switch} an "inherit" argument to the "--track" option. When this is set, creating a new branch will cause the tracking configuration to default to the configuration of the branch point, if set. For example, if branch "main" tracks "origin/main", and we run `git checkout --track=inherit -b feature main`, then branch "feature" will track "origin/main". Thus, `git status` will show us how far ahead/behind we are from origin, and `git pull` will pull from origin. This is particularly useful when creating branches across many submodules, such as with `git submodule foreach ...` (or if running with a patch such as [1], which we use at $job), as it avoids having to manually set tracking info for each submodule. Since we've added an argument to "--track", also add "--track=direct" as another way to explicitly get the original "--track" behavior ("--track" without an argument still works as well). Finally, teach branch.autoSetupMerge a new "inherit" option. When this is set, "--track=inherit" becomes the default behavior. [1]: https://lore.kernel.org/git/20180927221603.148025-1-sbeller@google.com/ Signed-off-by: Josh Steadmon <steadmon@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> |
||
---|---|---|
.. | ||
config | ||
howto | ||
RelNotes | ||
technical | ||
.gitattributes | ||
.gitignore | ||
asciidoc.conf | ||
asciidoctor-extensions.rb | ||
blame-options.txt | ||
build-docdep.perl | ||
cat-texi.perl | ||
cmd-list.perl | ||
CodingGuidelines | ||
config.txt | ||
date-formats.txt | ||
diff-format.txt | ||
diff-generate-patch.txt | ||
diff-options.txt | ||
doc-diff | ||
docbook-xsl.css | ||
docbook.xsl | ||
everyday.txto | ||
fetch-options.txt | ||
fix-texi.perl | ||
git-add.txt | ||
git-am.txt | ||
git-annotate.txt | ||
git-apply.txt | ||
git-archimport.txt | ||
git-archive.txt | ||
git-bisect-lk2009.txt | ||
git-bisect.txt | ||
git-blame.txt | ||
git-branch.txt | ||
git-bugreport.txt | ||
git-bundle.txt | ||
git-cat-file.txt | ||
git-check-attr.txt | ||
git-check-ignore.txt | ||
git-check-mailmap.txt | ||
git-check-ref-format.txt | ||
git-checkout-index.txt | ||
git-checkout.txt | ||
git-cherry-pick.txt | ||
git-cherry.txt | ||
git-citool.txt | ||
git-clean.txt | ||
git-clone.txt | ||
git-column.txt | ||
git-commit-graph.txt | ||
git-commit-tree.txt | ||
git-commit.txt | ||
git-config.txt | ||
git-count-objects.txt | ||
git-credential-cache--daemon.txt | ||
git-credential-cache.txt | ||
git-credential-store.txt | ||
git-credential.txt | ||
git-cvsexportcommit.txt | ||
git-cvsimport.txt | ||
git-cvsserver.txt | ||
git-daemon.txt | ||
git-describe.txt | ||
git-diff-files.txt | ||
git-diff-index.txt | ||
git-diff-tree.txt | ||
git-diff.txt | ||
git-difftool.txt | ||
git-fast-export.txt | ||
git-fast-import.txt | ||
git-fetch-pack.txt | ||
git-fetch.txt | ||
git-filter-branch.txt | ||
git-fmt-merge-msg.txt | ||
git-for-each-ref.txt | ||
git-for-each-repo.txt | ||
git-format-patch.txt | ||
git-fsck-objects.txt | ||
git-fsck.txt | ||
git-gc.txt | ||
git-get-tar-commit-id.txt | ||
git-grep.txt | ||
git-gui.txt | ||
git-hash-object.txt | ||
git-help.txt | ||
git-http-backend.txt | ||
git-http-fetch.txt | ||
git-http-push.txt | ||
git-imap-send.txt | ||
git-index-pack.txt | ||
git-init-db.txt | ||
git-init.txt | ||
git-instaweb.txt | ||
git-interpret-trailers.txt | ||
git-log.txt | ||
git-ls-files.txt | ||
git-ls-remote.txt | ||
git-ls-tree.txt | ||
git-mailinfo.txt | ||
git-mailsplit.txt | ||
git-maintenance.txt | ||
git-merge-base.txt | ||
git-merge-file.txt | ||
git-merge-index.txt | ||
git-merge-one-file.txt | ||
git-merge-tree.txt | ||
git-merge.txt | ||
git-mergetool--lib.txt | ||
git-mergetool.txt | ||
git-mktag.txt | ||
git-mktree.txt | ||
git-multi-pack-index.txt | ||
git-mv.txt | ||
git-name-rev.txt | ||
git-notes.txt | ||
git-p4.txt | ||
git-pack-objects.txt | ||
git-pack-redundant.txt | ||
git-pack-refs.txt | ||
git-patch-id.txt | ||
git-prune-packed.txt | ||
git-prune.txt | ||
git-pull.txt | ||
git-push.txt | ||
git-quiltimport.txt | ||
git-range-diff.txt | ||
git-read-tree.txt | ||
git-rebase.txt | ||
git-receive-pack.txt | ||
git-reflog.txt | ||
git-remote-ext.txt | ||
git-remote-fd.txt | ||
git-remote-helpers.txto | ||
git-remote.txt | ||
git-repack.txt | ||
git-replace.txt | ||
git-request-pull.txt | ||
git-rerere.txt | ||
git-reset.txt | ||
git-restore.txt | ||
git-rev-list.txt | ||
git-rev-parse.txt | ||
git-revert.txt | ||
git-rm.txt | ||
git-send-email.txt | ||
git-send-pack.txt | ||
git-sh-i18n--envsubst.txt | ||
git-sh-i18n.txt | ||
git-sh-setup.txt | ||
git-shell.txt | ||
git-shortlog.txt | ||
git-show-branch.txt | ||
git-show-index.txt | ||
git-show-ref.txt | ||
git-show.txt | ||
git-sparse-checkout.txt | ||
git-stage.txt | ||
git-stash.txt | ||
git-status.txt | ||
git-stripspace.txt | ||
git-submodule.txt | ||
git-svn.txt | ||
git-switch.txt | ||
git-symbolic-ref.txt | ||
git-tag.txt | ||
git-tools.txt | ||
git-unpack-file.txt | ||
git-unpack-objects.txt | ||
git-update-index.txt | ||
git-update-ref.txt | ||
git-update-server-info.txt | ||
git-upload-archive.txt | ||
git-upload-pack.txt | ||
git-var.txt | ||
git-verify-commit.txt | ||
git-verify-pack.txt | ||
git-verify-tag.txt | ||
git-version.txt | ||
git-web--browse.txt | ||
git-whatchanged.txt | ||
git-worktree.txt | ||
git-write-tree.txt | ||
git.txt | ||
gitattributes.txt | ||
gitcli.txt | ||
gitcore-tutorial.txt | ||
gitcredentials.txt | ||
gitcvs-migration.txt | ||
gitdiffcore.txt | ||
giteveryday.txt | ||
gitfaq.txt | ||
gitglossary.txt | ||
githooks.txt | ||
gitignore.txt | ||
gitk.txt | ||
gitmailmap.txt | ||
gitmodules.txt | ||
gitnamespaces.txt | ||
gitremote-helpers.txt | ||
gitrepository-layout.txt | ||
gitrevisions.txt | ||
gitsubmodules.txt | ||
gittutorial-2.txt | ||
gittutorial.txt | ||
gitweb.conf.txt | ||
gitweb.txt | ||
gitworkflows.txt | ||
glossary-content.txt | ||
howto-index.sh | ||
i18n.txt | ||
install-doc-quick.sh | ||
install-webdoc.sh | ||
line-range-format.txt | ||
line-range-options.txt | ||
lint-gitlink.perl | ||
lint-man-end-blurb.perl | ||
lint-man-section-order.perl | ||
Makefile | ||
manpage-base-url.xsl.in | ||
manpage-bold-literal.xsl | ||
manpage-normal.xsl | ||
manpage-quote-apos.xsl | ||
manpage.xsl | ||
merge-options.txt | ||
merge-strategies.txt | ||
MyFirstContribution.txt | ||
MyFirstObjectWalk.txt | ||
object-format-disclaimer.txt | ||
pretty-formats.txt | ||
pretty-options.txt | ||
pull-fetch-param.txt | ||
ref-reachability-filters.txt | ||
rev-list-description.txt | ||
rev-list-options.txt | ||
revisions.txt | ||
sequencer.txt | ||
signoff-option.txt | ||
SubmittingPatches | ||
texi.xsl | ||
trace2-target-values.txt | ||
transfer-data-leaks.txt | ||
urls-remotes.txt | ||
urls.txt | ||
user-manual.conf | ||
user-manual.txt |