Set up#
Install and set up Git#
The Arrow project is developed usingGitfor version control which is easily available for all commonoperating systems.
You can follow the instructions to install Git from GitHubwhere Arrow repository is hosted, followingthe quickstart instructions.
When Git is set up do not forget to configure your name and email
$gitconfig--globaluser.name"Your Name"$gitconfig--globaluser.emailyour.email@example.com
andauthenticate with GitHubas this will allow you to interact with GitHub without typinga username and password each time you execute a git command.
Note
This guide assumes you are comfortable working from the command line.Some IDEs allow you to manage a Git repository, but may implicitly rununwanted operations when doing so (such as creating project files).
For example, cloning it in RStudio assumes the whole repository is anRStudio project and will create a.Rproj file in the root directory.For this reason it ishighly recommended to clone the repository usingthe command line or a Git client.
Get the source code#
Fork the repository#
The Arrow GitHub repository contains both the Arrow C++ library pluslibraries for other languages such as Go, Java, Matlab, Python, R, etc.The first step to contributing is to create a fork of the repositoryin your own GitHub account.
Go toapache/arrow.
Press Fork in the top right corner.

The icon to fork the Apache Arrow repository on GitHub.#
Choose to fork the repository to your username so the fork will becreated at
https://github.com/<yourusername>/arrow.
Clone the repository#
Next you need to clone the repository
$gitclonehttps://github.com/<yourusername>/arrow.gitand add Apache Arrow repository as a remote calledupstream.
$cdarrow$gitremoteaddupstreamhttps://github.com/apache/arrow
Verify your upstream#
Your upstream should be pointing at the Arrow GitHub repo.
Running in the shell:
$gitremote-vShould give you a result similar to this:
origin https://github.com/<your username>/arrow.git (fetch)origin https://github.com/<your username>/arrow.git (push)upstream https://github.com/apache/arrow (fetch)upstream https://github.com/apache/arrow (push)
If you did everything correctly, you should now have a copy of the codein thearrow directory and two remotes that refer to your own GitHubfork (origin) and the official Arrow repository (upstream).

