Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

GitLink

Guides

  • Git Interfaces
  • GitLink
  • Git Reference Operations
  • Low Level Git Operations

Symbols

  • GitAdd
  • GitAddRemote
  • GitAheadBehind
  • GitBranchQ
  • GitCheckoutReference
  • GitClone
  • GitClose
  • GitCommit
  • GitCommitQ
  • GitCreateBranch
  • GitCreateTag
  • GitDeleteBranch
  • GitDeleteRemote
  • GitDeleteTag
  • GitExpandTree
  • GitFetch
  • GitInit
  • GitMergeBase
  • GitMerge
  • GitMoveBranch
  • GitObject
  • GitOpen
  • GitProperties
  • GitPull
  • GitRange
  • GitReadBlob
  • GitRemoteQ
  • GitRepo
  • GitRepoQ
  • GitRepos
  • GitReset
  • GitSetUpstreamBranch
  • GitSHA
  • GitSignature
  • GitStatus
  • GitType
  • GitUpstreamBranch
  • GitWriteBlob
  • GitWriteTree
  • ToGitObject
Wolfram`GitLink`
GitMerge
​
GitMerge
[repo,branch]
merge
branch
into the default branch of
repo
.
​
​
GitMerge
[repo,{
branch
1
,
branch
2
,…}]
merge all of
branch
i
into the default branch of
repo
.
​
​
GitMerge
[repo,source,dest]
merge the branch or branches specified by
source
into
dest
.
​
Details
▪
If
GitMerge
successfully creates a commit or performs a fast-forward merge, then it will return a
GitObject
corresponding to the merge commit. If
GitMerge
successfully performs a merge but is constrained to store its results in the repository index, it will return a
GitObject
corresponding to the HEAD commit. Otherwise, it will return a
Failure
object.
▪
If
GitMerge
directly generates a
Failure
object, the following tags are used:
"IndexConflicts"
the merge operation would have caused changes to the index which conflicts with existing index changes
"InvalidDestination"
the
dest
argument does not refer to a valid branch
"InvalidRepository"
the
repo
object is not valid
"InvalidSource"
one or more of the references specified in the
source
argument is invalid
"GitWriteFailed"
an attempt to write an object to the git directory failed
"MergeNotAllowed"
the merge was not allowed because an option setting prevented it from happening
"UnresolvedConflicts"
the merge produced unresolved conflicts
"WorkingTreeConflicts"
the merge operation would have caused changes to the working tree which conflicts with existing working tree changes
▪
By default
GitMerge
[repo,branch]
will update the index and working directory of
repo
to reflect the change to the default branch.
▪
The specification for
branch
can be a name, a SHA, or any reference which resolves to a commit.
▪
If
dest
is not the default branch, then the merge will not affect the index or working directory.
▪
If
dest
is
None
, then
GitMerge
will create a merge commit from the branches specified by
source
and return its SHA, but no reference will point to it.
▪
GitMerge
takes the following options:
"AllowCommit"
True
whether a merge commit is allowed
"AllowFastForward"
True
whether a fast-forward merge is allowed
"AllowIndexChanges"
True
whether a merge is allowed to make changes to the index or working tree
"AuthorSignature"
Automatic
an
Association
representing the author metadata for the commit
"CommitMessage"
Automatic
message to use for the merge commit, if one is created
"CommitterSignature"
Automatic
an
Association
representing the committer metadata for the commit
"ConflictFunctions"
Automatic
function to be called on each conflict to be resolved
"MergeStrategy"
{}
strategy to use when merging
▪
If
"AllowCommit"
False
and
"AllowFastForward"
False
are both set, then the results of the merge will be stored in the index and/or working tree. Once remaining changes are added and committed, the next call to
GitCommit
will create the merge commit.
▪
If
"AllowCommit"
,
"AllowFastForward"
, and
"AllowIndexChanges"
are all set to
False
, then
GitMerge
is guaranteed to fail, but the resulting failure will include information about whether the merge would have had any conflicts or errors.
▪
The values of the
"AuthorSignature"
and
"CommitterSignature"
options are typically derived using
GitSignature
. The
Automatic
values are equivalent to
GitSignature
[repo]
.
▪
"ConflictFunctions"
takes its values as an
Association
of the form

filetype
1

fun
1
,
filetype
2

fun
2
,…
. The
filetype
i
are specified as strings representing the filename extension that
fun
i
should be applied to. The file type may be specified with or without the leading period and is case-insensitive. A file type of
"*"
indicates a fallback function to be used if no other type matches.
▪
"MergeStrategy"
can take a list of one or more of the following:
"Merge"
create standard conflicted merge files
"Diff3"
create diff3-style files
"SimplifiedDiff"
condense non-alphanumeric regions for simplified diff files
"IgnoreWhitespace"
ignore all whitespace
"IgnoreWhitespaceChange"
ignore changes in amount of whitespace
"IgnoreWhitespaceEndOfLine"
ignore whitespace at the end of a line
"Patience"
use the "patience diff" algorithm
"Minimal"
take extra time to find a minimal diff
SeeAlso
GitRebase
 
▪
GitCommit
 
▪
GitCherryPick
 
▪
GitMergeBase
 
▪
GitRange
 
▪
GitPull
 
▪
GitAdd
""

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com