git2r (version 0.10.1)

clone: Clone a remote repository

Description

Clone a remote repository

Usage

clone(url, local_path, bare = FALSE, credentials = NULL, progress = TRUE)

## S3 method for class 'character,character': clone(url, local_path, bare = FALSE, credentials = NULL, progress = TRUE)

Arguments

url
The remote repository to clone
local_path
Local directory to clone to.
bare
Create a bare repository. Default is FALSE.
credentials
The credentials for remote repository access. Default is NULL.
progress
Show progress. Default is TRUE.

Value

  • A S4 git_repository object

See Also

cred_user_pass, cred_ssh_key

Examples

Run this code
## Initialize repository
path_repo_1 <- tempfile(pattern="git2r-")
path_repo_2 <- tempfile(pattern="git2r-")
dir.create(path_repo_1)
dir.create(path_repo_2)
repo_1 <- init(path_repo_1)

## Config user and commit a file
config(repo_1, user.name="Alice", user.email="alice@example.org")

## Write to a file and commit
writeLines("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do",
           file.path(path_repo_1, "example.txt"))
add(repo_1, "example.txt")
commit(repo_1, "First commit message")

## Change file and commit
writeLines(c("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do",
             "eiusmod tempor incididunt ut labore et dolore magna aliqua."),
           file.path(path_repo_1, "example.txt"))
add(repo_1, "example.txt")
commit(repo_1, "Second commit message")

## Change file again and commit.
writeLines(c("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do",
             "eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad",
             "minim veniam, quis nostrud exercitation ullamco laboris nisi ut"),
           file.path(path_repo_1, "example.txt"))
add(repo_1, "example.txt")
commit(repo_1, "Third commit message")

## Clone to second repository
repo_2 <- clone(path_repo_1, path_repo_2)

## List commits in repositories
commits(repo_1)
commits(repo_2)

Run the code above in your browser using DataCamp Workspace