如何使用ssh将特定git分支内容关闭/复制到另一台服务器上的文件夹

如何使用ssh将特定git分支内容关闭/复制到另一台服务器上的文件夹,git,github,ssh,Git,Github,Ssh,我在bitbucket上有一个回购协议,其中有几个分支。本地工作后,所有最新代码都被推送到release分支。我在另一台服务器上有一个我的网站实例,我使用ssh连接该服务器。在该服务器中有一个文件夹MyWebsite(/var/www/html/MyWebsite)。我需要将发布分支中的所有内容复制到MyWebsite文件夹中,以便网站按照最新代码运行 在使用ssh导航到MyWebsite文件夹后,我尝试使用 git clone -b release <bit-bucket repo ur

我在bitbucket上有一个回购协议,其中有几个分支。本地工作后,所有最新代码都被推送到
release
分支。我在另一台服务器上有一个我的网站实例,我使用ssh连接该服务器。在该服务器中有一个文件夹
MyWebsite
(/var/www/html/MyWebsite)。我需要将
发布
分支中的所有内容复制到MyWebsite文件夹中,以便网站按照最新代码运行

在使用ssh导航到MyWebsite文件夹后,我尝试使用

git clone -b release <bit-bucket repo url>

git clone -b master  <bit-bucket repo url> release `In this case I thought the content in release branch is moved to master but I'm wrong`

git fetch -b release <bit-bucket repo url> =>  Not a git repository (or any of the parent directories): .git error
git克隆-b版本
git clone-b master release`在这种情况下,我认为release分支中的内容被移动到master,但我错了`
git fetch-b release=>不是git存储库(或任何父目录):.git错误
有人能帮忙解决这个问题吗。短暂性脑缺血发作

在服务器中,我执行了
git init
,然后执行了
git add remote release
,然后执行了
git fetch release
。但是我在文件夹中看不到任何文件

是,
git fetch
只获取历史记录。它不签出任何分支

使用git branch-avv查看所有分支

在ssh会话中的服务器上,尝试一个

注意:如果您的遥控器未被称为“
release
”,请用遥控器的名称替换
release

事实上,委员会补充说:

我再次创建了一个新文件夹,更改了remote的名称,然后重试。
所以现在它能够从发布分支中提取所有内容


您是否已将
release
分支推送到远程?如果您已将代码推送到远程分支“release”,则只需使用ssh连接git拉入您的计算机,如果没有,则从本地执行scp以复制文件夹。下面是scp的语法,例如,将目录“foo”从本地主机复制到远程主机的目录“bar”$scp-r foo您的_username@remotehost.edu:/some/remote/directory/bar@sajibkhan是的,它已经在比特桶上推送到远程释放分支。@MonisMajeed它的推送到远程释放分支。在服务器中,我执行了
git init
,然后执行了
git add remote release
,然后执行了
git fetch release
。但是我在文件夹中看不到任何文件。请登录到需要代码的框,并在终端git clone中运行此命令username@gitrepo url,然后在提示输入密码时给出密码[您可以通过登录bitbucket account->repos查看您的git克隆url]我得到一个类似以下的错误:1。git init 2。git添加远程服务器3。git checkout-b release--track server/release
致命:git checkout:更新路径与交换分支不兼容。您是否打算签出无法解析为提交的'server/release'。
我是否仍需要在执行'git checkout-b release-跟踪服务器/release@ASN之前执行步骤3中的'git fetch server'。如果您要添加远程服务器,这意味着您需要先获取它:
git fetch server
,然后签出分支
git checkout-b--track server/
我只使用了“release”,因为在您的问题中,这是远程服务器的名称。但在您的评论中,您将该名称更改为“服务器”。选择一个名字,并始终如一地使用它。我也这么做了。为了避免混淆,我将远程服务器重命名为服务器。所以我做了你上面提到的任何事情,但是得到了相同的错误。在服务器位置(使用ssh),我执行了git init,添加了名为“server”和repo url的remote,执行了git fetch server,最后执行了git checkout-b--track server/。在本例中,我希望从bitbucket回购上的发布分支获取所有最新代码。因此,它将是
git checkout-b release server/release
如果它有助于我解决问题,我每次都会标记接受的答案。我没有忘记在这种情况下,我仍然得到相同的错误。所以请求你的帮助again@ASN伟大的我已将您的评论包含在答案中,以提高可视性。