设置 git up locally/remotely 时出现问题(使用 Coda 2 和终端)
Problems setting git up locally/remotely (with Coda 2 and Terminal)
我正在尝试设置 Git 以便对我当前的网站构建进行更好的版本控制(这是我第一次使用 Git)- 我刚刚一直在手动复制文件并且我觉得 Git 的提交系统是一个更好的解决方案。
我是 运行 MacOS 10.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 中,我只显示 'local' 而没有远程下拉列表。
另外,在终端中,如果我尝试使用命令 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 目录,但没有成功!
让我们从头开始,好吗?
在远程存储库上,您需要将 git 初始化为裸存储库,如下所示:
git init --bare
裸 git 存储库是一个只有 .git 目录的目录。没有工作区文件。如果你没有指定 --bare
选项,你每次推送时都会收到一条错误消息,说你正在尝试修改远程仓库上的文件。
初始化远程仓库后,您可以像这样轻松地在本地计算机上克隆仓库:
git clone username@hostname:/path/to/.git
username
是服务器登录用户名。 hostname
为域名或服务器ip。
好的,所以我通过从头开始执行以下步骤解决了这个问题 -
我通过 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 中设置所有内容并将其用作本地根目录
我的文件目录。这给了我 'local' 版本控制但没有
远程.
我在 Coda 中编辑了我的文件,并使用
SCM 侧边栏。
添加后,我使用终端将它们推送到服务器
命令然后回到尾声,保存,退出网站然后我的
'remote' 文件夹出现在站点设置的“源”选项卡中。
一切似乎都在工作,给我推拉!
我正在尝试设置 Git 以便对我当前的网站构建进行更好的版本控制(这是我第一次使用 Git)- 我刚刚一直在手动复制文件并且我觉得 Git 的提交系统是一个更好的解决方案。
我是 运行 MacOS 10.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 中,我只显示 'local' 而没有远程下拉列表。
另外,在终端中,如果我尝试使用命令 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 目录,但没有成功!
让我们从头开始,好吗?
在远程存储库上,您需要将 git 初始化为裸存储库,如下所示:
git init --bare
裸 git 存储库是一个只有 .git 目录的目录。没有工作区文件。如果你没有指定 --bare
选项,你每次推送时都会收到一条错误消息,说你正在尝试修改远程仓库上的文件。
初始化远程仓库后,您可以像这样轻松地在本地计算机上克隆仓库:
git clone username@hostname:/path/to/.git
username
是服务器登录用户名。 hostname
为域名或服务器ip。
好的,所以我通过从头开始执行以下步骤解决了这个问题 -
我通过 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 中设置所有内容并将其用作本地根目录 我的文件目录。这给了我 'local' 版本控制但没有
远程.我在 Coda 中编辑了我的文件,并使用 SCM 侧边栏。
添加后,我使用终端将它们推送到服务器
命令然后回到尾声,保存,退出网站然后我的 'remote' 文件夹出现在站点设置的“源”选项卡中。
一切似乎都在工作,给我推拉!