gpt4 book ai didi

git - git + ssh>远程空,树和非裸机

转载 作者:行者123 更新时间:2023-12-02 14:08:33 27 4
gpt4 key购买 nike

我尝试在loacl上使用git并在生产中进行部署。
我也使用括号和git插件。

理想情况

[本地]
本地/我/工作/文件夹

[远程1]
的github

[远程2]
远程2 /我/服务器/文件夹/主题

使用github的配置运行良好。
使用我的服务器,我遇到了一些困难。我使用ssh推送并连接到服务器。

我在远程2上做了什么

$ mkdir git/theme
$ cd git/theme
$ git init

我在本地上所做的工作
git remote add origin ssh://user@xxx.xx.xxx.xxx:yy / home / user / git / theme

一开始,我遇到一些错误:
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.

所以我用/ home / user / git / theme中的命令来解决问题:
$ git config receive.denyCurrentBranch ignore

但我注意到,.git文件夹在推送时已更新,但我的本地/我/工作/文件夹中的文件都没有

我删除了对 Remote 2的所有思考,然后启动了一个新的 Remote 。

最后,我得到以下配置:

[本地]
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "github"]
url = git@github.com:me/theme.git
fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
remote = github
merge = refs/heads/master
[remote "origin"]
url = ssh://user@xxx.xx.xxx.xxx:yy/home/user/git/theme/theme.git
fetch = +refs/heads/*:refs/remotes/origin/*

[远程2]
[core]
repositoryformatversion = 0
filemode = true
bare = true

当我使用
$ git push origin master

.git是更新的,但没有文件被推送。

一开始,我尝试了很多事情,但是我测试的所有tuto都无法正常运行。我的本地和远程2之间的通信运行良好,这是一个好的开始。

首先,我对裸仓库和非裸仓库感到困惑。

为什么当我推送到远程2时,它不会推送文件夹中的文件?
为什么在本地分支主机上连接到远程1?
为什么当我推送到远程2时,它推送到分支的原点/主节点而不是主节点?

预先感谢您的任何帮助。
B

最佳答案

Why when i push to remote 2 it doesn't push the file in my folder?



通过推送到远程存储库,您不会推送文件,而只会推送索引。裸存储库不包含文件(或文件的跟踪)。当您尝试从其他位置克隆存储库时,您会看到将获取所有文件。

关于git - git + ssh>远程空,树和非裸机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34966701/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com