如何获得被解雇同事的 git 分支
How to get git branch of colleague who was fired
小问题
鉴于我对同一服务器上的另一个 git 存储库具有只读访问权限,我如何才能将该存储库中的特定分支复制到我自己的存储库中?
长篇大论
我和我的同事在同一个开发服务器上编写代码。
我是 user1
,我的 git 存储库位于此处:
/home/user1/website
我的同事是 user2
,他的 git 存储库位于此处:
/home/user2/website
他在一个名为 hotfix
的分支上工作。
坏消息
他还没来得及将 hotfix
分支推送到我们的远程仓库(托管在别处)就被解雇了。因此,从我的回购协议中,我无法 git checkout
或 git fetch
他的 hotfix
.
此外,我在他的目录中只有只读权限。如果我 cd
到他在 /home/user2/website
的仓库,当前签出的分支是 master
。如果我尝试从他的回购协议中 git checkout hotfix
,我会收到此错误消息:
fatal: Unable to create '/home/user2/.git/index.lock': Permission denied
好消息
我有只读权限。虽然我不能git checkout
,但我确实可以git show
、git log
、git diff
等
所以我的问题是...
鉴于我对我同事的存储库具有只读访问权限,我如何才能将特定分支从他的存储库复制到我的存储库?
有很多方法;这里有两个:
克隆它:
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
),即使您在自己的计算机(笔记本电脑)上也可以使用它等)。
请参阅 git clone
documentation 中有关使用共享本地文件时注意事项的说明(使用 --local
、--no-hardlinks
或 --shared
)。
小问题
鉴于我对同一服务器上的另一个 git 存储库具有只读访问权限,我如何才能将该存储库中的特定分支复制到我自己的存储库中?
长篇大论
我和我的同事在同一个开发服务器上编写代码。
我是 user1
,我的 git 存储库位于此处:
/home/user1/website
我的同事是 user2
,他的 git 存储库位于此处:
/home/user2/website
他在一个名为 hotfix
的分支上工作。
坏消息
他还没来得及将 hotfix
分支推送到我们的远程仓库(托管在别处)就被解雇了。因此,从我的回购协议中,我无法 git checkout
或 git fetch
他的 hotfix
.
此外,我在他的目录中只有只读权限。如果我 cd
到他在 /home/user2/website
的仓库,当前签出的分支是 master
。如果我尝试从他的回购协议中 git checkout hotfix
,我会收到此错误消息:
fatal: Unable to create '/home/user2/.git/index.lock': Permission denied
好消息
我有只读权限。虽然我不能git checkout
,但我确实可以git show
、git log
、git diff
等
所以我的问题是...
鉴于我对我同事的存储库具有只读访问权限,我如何才能将特定分支从他的存储库复制到我的存储库?
有很多方法;这里有两个:
克隆它:
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
),即使您在自己的计算机(笔记本电脑)上也可以使用它等)。
请参阅 git clone
documentation 中有关使用共享本地文件时注意事项的说明(使用 --local
、--no-hardlinks
或 --shared
)。