如何获得被解雇同事的git分支
简短问题 鉴于我对同一服务器上的另一个git repo具有只读访问权限,如何将该repo中的特定分支复制到我自己的分支中 长话短说 我的同事和我在同一个开发服务器上编写代码 我是如何获得被解雇同事的git分支,git,version-control,repository,branch,user-permissions,Git,Version Control,Repository,Branch,User Permissions,简短问题 鉴于我对同一服务器上的另一个git repo具有只读访问权限,如何将该repo中的特定分支复制到我自己的分支中 长话短说 我的同事和我在同一个开发服务器上编写代码 我是user1,我的git回购位于此处: /home/user1/website /home/user2/website 我的同事是user2,他的git回购协议位于此处: /home/user1/website /home/user2/website 他正在一个名为“修补程序”的分支机构工作 坏消息 他还没来得及把
user1
,我的git回购位于此处:
/home/user1/website
/home/user2/website
我的同事是user2
,他的git回购协议位于此处:
/home/user1/website
/home/user2/website
他正在一个名为“修补程序”的分支机构工作
坏消息
他还没来得及把他的修补程序分支推到我们的远程回购(托管在别处)就被解雇了。因此,从我的回购中,我无法git签出
或git获取
hishotfix
此外,我在他的目录中只有只读权限。如果我在/home/user2/website
向他的回购进行了cd
,则当前签出的分支机构是master
。如果我试图从他的repo中git checkout hotfix
,我会收到以下错误消息:
fatal: Unable to create '/home/user2/.git/index.lock': Permission denied
好消息
我有只读权限。虽然我不能git签出
,但我确实可以git显示
,git日志
,git差异
,等等
所以我的问题是…
鉴于我对同事的回购协议拥有只读访问权限,我如何才能将其回购协议中的特定分支复制到我的回购协议中?有很多方法;这里有两个:
- 克隆它:
cd $HOME
mkdir his
cd his
git clone /home/user2/website
现在您有了一个完全独立的存储库,它是该存储库的克隆
- 将其添加为远程,然后获取:
git remote add his file:///home/user2/website
git fetch his
现在,您的存储库具有remotes/his/
分支,您可以对这些分支进行检查、挑选、基于它们创建本地分支,等等
git remote add
方法适用于网络协议,因此,如果您可以访问机器(例如,通过ssh
),即使您在自己的计算机上(笔记本电脑等),也可以使用该方法
有关使用共享本地文件时的注意事项,请参见中的说明(使用--local
,--无硬链接
,或--shared
)