Apply a single stashed state from the stash list.

stash_apply(object = ".", index = 1)

Arguments

object

path to a repository, or a git_repository object, or the stash object to pop. Default is a path = '.' to a reposiory.

index

The index to the stash to apply. Only used when object is a path to a repository or a git_repository object. Default is index = 1.

Value

invisible NULL

Details

If local changes in the working directory conflict with changes in the stash then an error will be raised. In this case, the index will always remain unmodified and all files in the working directory will remain unmodified. However, if you are restoring untracked files or ignored files and there is a conflict when applying the modified files, then those files will remain in the working directory.

Examples

if (FALSE) { ## Initialize a temporary repository path <- tempfile(pattern="git2r-") dir.create(path) repo <- init(path) # Configure a user config(repo, user.name = "Alice", user.email = "[email protected]") # Create a file, add and commit writeLines("Hello world!", file.path(path, "test.txt")) add(repo, 'test.txt') commit(repo, "Commit message") # Change file writeLines(c("Hello world!", "HELLO WORLD!"), file.path(path, "test.txt")) # Create stash in repository stash(repo) # Change file writeLines(c("Hello world!", "HeLlO wOrLd!"), file.path(path, "test.txt")) # Create stash in repository stash(repo) # View stashes stash_list(repo) # Read file readLines(file.path(path, "test.txt")) # Apply latest git_stash object in repository stash_apply(stash_list(repo)[[1]]) # Read file readLines(file.path(path, "test.txt")) # View stashes stash_list(repo) }