Git 使用 VSCode 和网络主机上的文件时出现问题
Issues getting Git working with VSCode and files on web host
直到现在我一直使用 FileZilla 将我的本地文件传输到我的主机以更改我正在使用的网站。我想改变它并学习如何 git gud!所以基本上理想的情况是能够在从我的网络主机镜像的目录中的 VSCode 中工作,并从那里能够在本地进行更改,然后在我想要的时候提交和更改我的网络主机上的文件到 - 这一定是可能的吧?
我已经能够使用 Git Bash 通过 ssh 连接到我的主机和文件。我已经创建了 init --bare 和 init,因为我不确定要使用哪个,但我确实在那里创建了 .git 文件夹。我还可以使用 Bash 和命令 git status
查看所有等待提交的文件 (?)。
据我所知,我必须初始化存储库,然后将它们提交到 "track" 这些文件,并让它们在 VSCode 中可见以供使用,对吗?
但是当我尝试 git commit
时会显示以下错误消息。
Waiting for your editor to close the file... code --wait: code: command not found.
这表明 vscode and/or git 的相对路径不起作用,但确实如此。当我启动 bash 时,我可以使用 code --help
和 git config --global -e
来启动 VSCode 的 window。所以我的 git config --global core.editor "code --wait"
可能正常工作。
尽管在我使用 ssh 连接到我的虚拟主机之后,这些命令都不再起作用了。为什么是这样?
而且,我现在正在思考如何在 VSCode、git 和我的网络主机 (one.com )?
我想我必须在我今天有我的网络主机文件副本的文件夹中创建一个本地存储库,并在实际的网络主机上建立一个远程存储库,然后在它们两者之间建立某种连接VSCode。我还不太确定。
提前致谢
我想您可能对 Git 是什么以及您应该如何使用它来完成您想要做的事情感到有点困惑。让我们清理一些东西。
简单地说,Git是一个版本控制系统,用于跟踪文件随时间的变化。您创建或编辑您的文件,git add
到 "staging area",然后 git commit
带有提交消息。如果您在提交文件后对其进行编辑,那么 git 可以检测到文件的更改,您可以添加并再次提交它们,或者根据需要丢弃它们。然而,要理解的最重要的部分是,此时这些更改是 local。如果您想与任何人共享它们(或让另一个系统将它们拉下来),那么您将需要建立一个远程存储库。
这就是 Github/GitLab 的用途。在任一站点上登录 in/create 帐户(gitLab 提供免费的私人存储库)并创建一个适当命名的存储库。然后,一旦您创建了一个远程仓库,请按照说明将其作为 "remote" 添加到您的本地仓库,然后 git push
您对远程仓库的更改。现在,在您的服务器上,您将 git clone
远程仓库,这将拉下您的更改。从那时起,如果你将新的更改推送到远程仓库,你可以通过 git pull
将更改拉到服务器。这是在服务器上部署代码的一种非常基本和准系统的方法,还有更复杂的方法,但我会在这个答案中保持简单。
Git 与 VSCode 完全分开(尽管 VSCode 有一些 git 集成和插件)。我 不 建议将 core.editor
更改为 VSCode。该设置控制的是用于编写提交消息的编辑器。加载 VSCode 花费的时间太长了...我建议您坚持使用默认值 Vim 或使用 nano。或者,在大多数情况下,在提交时指定一条消息:git commit -m "added foobar"
.
因此,您服务器上的 git 存储库(您使用 --bare
初始化的存储库)是垃圾,应该由 git clone
ing 从远程回购。希望这是有道理的!
直到现在我一直使用 FileZilla 将我的本地文件传输到我的主机以更改我正在使用的网站。我想改变它并学习如何 git gud!所以基本上理想的情况是能够在从我的网络主机镜像的目录中的 VSCode 中工作,并从那里能够在本地进行更改,然后在我想要的时候提交和更改我的网络主机上的文件到 - 这一定是可能的吧?
我已经能够使用 Git Bash 通过 ssh 连接到我的主机和文件。我已经创建了 init --bare 和 init,因为我不确定要使用哪个,但我确实在那里创建了 .git 文件夹。我还可以使用 Bash 和命令 git status
查看所有等待提交的文件 (?)。
据我所知,我必须初始化存储库,然后将它们提交到 "track" 这些文件,并让它们在 VSCode 中可见以供使用,对吗?
但是当我尝试 git commit
时会显示以下错误消息。
Waiting for your editor to close the file... code --wait: code: command not found.
这表明 vscode and/or git 的相对路径不起作用,但确实如此。当我启动 bash 时,我可以使用 code --help
和 git config --global -e
来启动 VSCode 的 window。所以我的 git config --global core.editor "code --wait"
可能正常工作。
尽管在我使用 ssh 连接到我的虚拟主机之后,这些命令都不再起作用了。为什么是这样?
而且,我现在正在思考如何在 VSCode、git 和我的网络主机 (one.com )?
我想我必须在我今天有我的网络主机文件副本的文件夹中创建一个本地存储库,并在实际的网络主机上建立一个远程存储库,然后在它们两者之间建立某种连接VSCode。我还不太确定。
提前致谢
我想您可能对 Git 是什么以及您应该如何使用它来完成您想要做的事情感到有点困惑。让我们清理一些东西。
简单地说,Git是一个版本控制系统,用于跟踪文件随时间的变化。您创建或编辑您的文件,git add
到 "staging area",然后 git commit
带有提交消息。如果您在提交文件后对其进行编辑,那么 git 可以检测到文件的更改,您可以添加并再次提交它们,或者根据需要丢弃它们。然而,要理解的最重要的部分是,此时这些更改是 local。如果您想与任何人共享它们(或让另一个系统将它们拉下来),那么您将需要建立一个远程存储库。
这就是 Github/GitLab 的用途。在任一站点上登录 in/create 帐户(gitLab 提供免费的私人存储库)并创建一个适当命名的存储库。然后,一旦您创建了一个远程仓库,请按照说明将其作为 "remote" 添加到您的本地仓库,然后 git push
您对远程仓库的更改。现在,在您的服务器上,您将 git clone
远程仓库,这将拉下您的更改。从那时起,如果你将新的更改推送到远程仓库,你可以通过 git pull
将更改拉到服务器。这是在服务器上部署代码的一种非常基本和准系统的方法,还有更复杂的方法,但我会在这个答案中保持简单。
Git 与 VSCode 完全分开(尽管 VSCode 有一些 git 集成和插件)。我 不 建议将 core.editor
更改为 VSCode。该设置控制的是用于编写提交消息的编辑器。加载 VSCode 花费的时间太长了...我建议您坚持使用默认值 Vim 或使用 nano。或者,在大多数情况下,在提交时指定一条消息:git commit -m "added foobar"
.
因此,您服务器上的 git 存储库(您使用 --bare
初始化的存储库)是垃圾,应该由 git clone
ing 从远程回购。希望这是有道理的!