Sharing repository with GIT

1) Add git user to remote machine

sudo adduser --system --shell /bin/sh --gecos 'git version control' --group --disabled-password --home /home/git git

2) Create repository base dir at remote machine

sudo -u git mkdir /home/git/repositories

3) Start git-daemon for anonymous clone.

sudo -u git git-daemon --reuseaddr --verbose --base-path=/home/git/repositories/ [--detach]

4) Copy your public ssh key onto the remote machine

$ cd ~

$ ssh-keygen

$ su -

$ scp /home/user/.ssh/id_rsa.pub valid_user@ssh_host.domain.com:/pub/scm

$ ssh valid_user@ssh_host.domain.com

# cat /home/user/.ssh/id_rsa.pub >> /pub/scm/.ssh/authorized_keys

# exit

 

(optional)

If ssh-agent is not running:

$ eval `ssh-agent`

To avoid typing the password everytime, we can add the password to our key-agent:

$ ssh-add

To avoid typing the user on git push url we can do the following trick:

$ vim ~/.ssh/config

Add these contents:

Host localhost 127.0.0.1 HostName 127.0.0.1 User git Compression yes Protocol 2

Save and quit.

 

5) Now we can test it:

cd testproject
git init
git add .
git commit -m "initial import"
git remote add origin git@yourserver.com:repositories/testproject.git
touch .git/git-daemon-export-ok
scp -rp .git git@yourserver.com:repositories/testproject.git
git push --all

or,
$ git push git+ssh://127.0.0.1/pub/scm/repo.git master

(optional) whenever you wanna add another user, just

$ scp /home/newuser/.ssh/id_rsa.pub valid_user@ssh_host.domain.com:/pub/scm

$ ssh valid_user@ssh_host.domain.com

# cat /home/newuser/.ssh/id_rsa.pub >> /pub/scm/.ssh/authorized_keys

 


Git repositoryGit仓库)是用来存储和管理代码历史记录的地方。它包含了项目的所有文件和版本信息,以及Git所需的其他元数据。在Git repository中,你可以执行各种操作,例如保存代码的不同版本、创建分支、合并代码等。 在引用中提到的“.git”目录就是Git repository的核心部分之一。这个目录中包含了很多文件,其中一个重要的文件是index,也被称为提交区或暂存区。暂存区是Git中的一个重要概念,它类似于一个缓冲区,可以暂时保存你对项目的修改。理解了暂存区的概念后,你就能更好地理解和使用Git的命令了。 此外,Git repository还包含了项目的提交历史、分支信息等。通过Git的命令,你可以在不同的分支之间切换,合并不同的分支,查看提交历史等等。 总之,Git repository是一个存储和管理代码历史记录的地方,它是Git版本控制系统的核心组成部分。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Git 本地仓库(Repository)详解](https://blog.csdn.net/weixin_34166472/article/details/91711286)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值