我正在尝试设置Git以便在我当前的网站构建上更好地控制版本(这是我第一次使用Git) - 我只是手动复制文件而且我觉得Git的提交系统是一个更好的解决方案
我正在运行MacOS 11,并使用Xcode安装了Git。在我的远程服务器上,我在SSH会话中使用终端使用以下命令:
mkdir ~/.git
cd ~/.git; mkdir project.git; cd project.git
git init
Initialized empty Git repository in /home/user/.git/project.git/.git/
在我的本地系统上,我使用$which git
返回/usr/bin/git
然后我在本地计算机上使用了git init
命令,该命令返回initialized Git repository in /Users/user/.git/
。到目前为止,非常好。
然后我使用了以下命令git remote set-url origin ssh://username@site.com:/home/.git/project.git
(显然有正确的用户详细信息)
使用git remote -v
让我:
git remote -v
origin ssh://username@site.com:/home/.git/project.git (fetch)
origin ssh://username@site.com:/home/.git/project.git (push)
所以一切似乎都在起作用。这个问题来了。在源选项卡中的Coda 2中,我只有“本地”显示而没有远程下拉。
此外,在终端中,如果我尝试使用命令git push origin --all
,我会收到以下错误:
stdin: is not a tty
fatal: '/home/.git/project.git' does not appear to be a git repository
fatal: Could not read from remote repository.
有谁知道我哪里出错了?我假设它很简单,但我在这里阅读了很多类似的答案,但无法确定问题。我也尝试重新初始化git目录,没有快乐!
答案 0 :(得分:0)
让我们从头开始,不是吗?
在远程存储库中,您需要将git初始化为裸存储库,如下所示:
git init --bare
裸git repo是只有.git目录的目录。没有工作区文件。如果您没有指定--bare
选项,则每次推送说您尝试修改远程仓库上的文件时都会收到错误消息。
初始化远程仓库后,您可以轻松克隆本地计算机上的仓库,如下所示:
git clone username@hostname:/path/to/.git
username
是服务器登录用户名。 hostname
是域名或服务器IP。
答案 1 :(得分:0)
好的,我从头开始采取以下步骤解决了这个问题 -
我通过SSH连接到我的框并使用以下
在我的服务器上创建了一个新的git存储库mkdir git
cd git
git init --bare project.git
一旦完成,我在本地机器上为文件创建了一个新的根目录,并使用终端克隆了远程git存储库
git clone ssh://user@example.com/path/to/project.git
cd project
然后我在Coda中设置所有内容并将其用作本地root
我的文件目录。这给了我'本地'版本控制但不是
远程
我在Coda中编辑了我的文件,并使用它将它们添加到存储库中 SCM侧栏。
添加完成后,我使用终端将它们推送到服务器 命令然后回到coda,保存,退出网站,然后我的 “远程”文件夹出现在站点设置的“源”选项卡中。
一切似乎都在起作用,给我推拉!