Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得被解雇同事的git分支_Git_Version Control_Repository_Branch_User Permissions - Fatal编程技术网

如何获得被解雇同事的git分支

如何获得被解雇同事的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 他正在一个名为“修补程序”的分支机构工作 坏消息 他还没来得及把

简短问题

鉴于我对同一服务器上的另一个git repo具有只读访问权限,如何将该repo中的特定分支复制到我自己的分支中

长话短说

我的同事和我在同一个开发服务器上编写代码

我是
user1
,我的git回购位于此处:

/home/user1/website
/home/user2/website
我的同事是
user2
,他的git回购协议位于此处:

/home/user1/website
/home/user2/website
他正在一个名为“修补程序”的分支机构工作

坏消息

他还没来得及把他的
修补程序
分支推到我们的远程回购(托管在别处)就被解雇了。因此,从我的回购中,我无法
git签出
git获取
his
hotfix

此外,我在他的目录中只有只读权限。如果我在
/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