# alpine-git-curl **Repository Path**: mirrors_mattn/alpine-git-curl ## Basic Information - **Project Name**: alpine-git-curl - **Description**: A useful simple git container running in alpine linux, especially for tiny linux distro, such as RancherOS, which don't have package manager. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-16 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### docker-git-alpine [If enjoy, please consider buying me a coffee.](https://www.buymeacoffee.com/ozbillwang) A useful simple git container running in alpine Linux, especially for tiny Linux distro, such as RancherOS, which doesn't have a package manager. [![DockerHub Badge](http://dockeri.co/image/alpine/git)](https://hub.docker.com/r/alpine/git/) ### notes about new github action pipeline From 3rd Oct 2024, the automation build and deploy pipeline has been switched from Circle CI to Github Action (#68 and #70) ### notes about multi-arch images This feature was added on 23th May 2021. 1. Version v2.30.2 and 1.0.30 are manually pushed by me with multi-arch image supported 2. Older version will be not updated as multi-arch images 3. Newer vesions from now on will be multi-arch images (`--platform linux/amd64,linux/arm/v7,linux/arm64/v8,linux/arm/v6,linux/ppc64le,linux/s390x,linux/386`) 4. I don't support other architectures, except `amd64`, because I have no other environment to do that. If you have any issues with other arch, you need raise PR to fix it. 5. There would be no difference for `docker pull` , `docker run` command with other arch, you can run it as normal. For example, if you need pull image from arm (such as new Mac M1 chip), you can run `docker pull alpine/git:v2.30.2` to get the image directly. ### Github Repo https://github.com/alpine-docker/git ### CI build logs https://github.com/alpine-docker/git/actions ### Docker image tags https://hub.docker.com/r/alpine/git/tags/ ### Usage docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git For example, if you need clone this repository, you can run docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git clone https://github.com/alpine-docker/git.git ### Optional usage 1: To save your type, add this fuction to `~/.bashrc` or `~/.profile` $ cat ~/.profile ... function git () { (docker run -ti --rm -v ${HOME}:/root -v $(pwd):/git alpine/git "$@") } ... $ source ~/.profile for example, if you need clone this repository, with the function you just set, you can run it as local command git clone https://github.com/alpine-docker/git.git ### Optional usage 2: alias git="docker run -ti --rm -v $(pwd):/git -v $HOME/.ssh:/root/.ssh alpine/git" #### NOTES: - You need redefine (re-run) the alias, when you switch between different repositories - You need run above alias command only under git repository's root directory. ### Optional usage 3: alias git='docker run -ti --rm -u$(id -u):$(id -g) -e HOME=${HOME} -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -v ${HOME}:${HOME} -v $(pwd):/git alpine/git' ### NOTES: - set uid:gid and provide passwd and group from host - run git as the current user instead of root for proper ownership of files - can be used at any directory as evaluation of $(pwd) is defered until alias is used ## Demo $ cd application $ alias git="docker run -ti --rm -v $(pwd):/git -v $HOME/.ssh:/root/.ssh alpine/git" $ git clone git@github.com:YOUR_ACCOUNT/YOUR_REPO.git $ cd YOUR_REPO $ alias git="docker run -ti --rm -v $(pwd):/git -v $HOME/.ssh:/root/.ssh alpine/git" # edit several files $ git add . $ git status $ git commit -m "test" $ git push -u origin master ### The Protocols Supports git, http/https and ssh protocols. Refer: [Git on the Server - The Protocols](https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols) ### Automation builds Set CI to run builds per week - build latest alpine image with multi-arch supported - Get the git version from the image - use the git's version as image tag as well (`v${GIT_VERSION}`) - update `latest` tag for this image