Stage and commit changes
To commit changes, start by staging the files to be included in the commit
using git_add() or git_rm(). Use git_status() to see an overview of
staged and unstaged changes, and finally git_commit() creates a new commit
with currently staged files.
git_commit_all() is a convenience function that automatically stages and
commits all modified files. Note that git_commit_all() does not add
new, untracked files to the repository. You need to make an explicit call to
git_add() to start tracking new files.
git_log() shows the most recent commits and git_ls() lists all the files
that are being tracked in the repository.
git_commit(message, author = NULL, committer = NULL, repo = ".") git_commit_all(message, author = NULL, committer = NULL, repo = ".") git_commit_info(ref = "HEAD", repo = ".") git_commit_id(ref = "HEAD", repo = ".") git_commit_descendant_of(ancestor, ref = "HEAD", repo = ".") git_add(files, force = FALSE, repo = ".") git_rm(files, repo = ".") git_status(staged = NULL, repo = ".") git_conflicts(repo = ".") git_ls(repo = ".") git_log(ref = "HEAD", max = 100, repo = ".") git_stat_files(files, ref = "HEAD", repo = ".")
message |
a commit message |
author |
A git_signature value, default is |
committer |
A git_signature value, default is same as |
repo |
The path to the git repository. If the directory is not a
repository, parent directories are considered (see git_find). To disable
this search, provide the filepath protected with |
ref |
revision string with a branch/tag/commit value |
ancestor |
a reference to a potential ancestor commit |
files |
vector of paths relative to the git root directory.
Use |
force |
add files even if in gitignore |
staged |
return only staged (TRUE) or unstaged files (FALSE).
Use |
max |
lookup at most latest n parent commits |
git_status(), git_ls(): A data frame with one row per file
git_log(): A data frame with one row per commit
git_commit(), git_commit_all(): A SHA
Other git:
git_archive,
git_branch(),
git_config(),
git_diff(),
git_fetch(),
git_merge(),
git_rebase(),
git_remote,
git_repo,
git_signature(),
git_stash,
git_tag
oldwd <- getwd()
repo <- file.path(tempdir(), "myrepo")
git_init(repo)
setwd(repo)
# Set a user if no default
if(!user_is_configured()){
git_config_set("user.name", "Jerry")
git_config_set("user.email", "jerry@gmail.com")
}
writeLines(letters[1:6], "alphabet.txt")
git_status()
git_add("alphabet.txt")
git_status()
git_commit("Start alphabet file")
git_status()
git_ls()
git_log()
cat(letters[7:9], file = "alphabet.txt", sep = "\n", append = TRUE)
git_status()
git_commit_all("Add more letters")
# cleanup
setwd(oldwd)
unlink(repo, recursive = TRUE)Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.