当我在 Windows 中编辑代码但在 Linux 中构建和运行代码时如何使用 git 进行版本控制(使用 pycharm)

Posted

技术标签:

【中文标题】当我在 Windows 中编辑代码但在 Linux 中构建和运行代码时如何使用 git 进行版本控制(使用 pycharm)【英文标题】:How to use git to do version control when I edit my code in Windows but build and run my code in Linux (using pycharm) 【发布时间】:2021-12-05 04:15:03 【问题描述】:

我有一个问题,我在 Windows 平台上使用 PyCharm 编辑我的代码,并在 Linux 机器上构建和运行我的代码,我想知道使用 git 进行版本控制的正确方法是什么?我目前的做法是

    在 Windows 中使用 git 在 Linux 中构建和运行代码 在 Windows 中签出不同的分支并将代码上传到 Linux(而不是上传 .o 文件和 .so 文件等二进制文件)

我对这种方法不太满意,所以我想知道更好的方法。谢谢!

【问题讨论】:

您的具体工作流程不清楚。您是否正在克隆 Linux 中的工作区?这就是你应该做的。然后,在 Windows 上,每次您准备好共享新代码时,您都会 git push 对服务器进行这些更改,而在 Linux 上,您将 git pull 将新更改关闭。 @kaylum 感谢您的回复。我没有在 Linux 中克隆工作空间(我什至不知道工作空间是什么,对此感到抱歉)。我会尽快搜索它。但是我觉得这么多的推拉对我来说太复杂和不方便(目前,我在 Windows PyCharm 中编辑我的代码,PyCharm 会自动将我的代码上传到 Linux)。 我不明白你有什么问题。你不想做推拉:很好,但是 git 有什么问题呢?如果有“更好的方法”(没有“正确的解决方案”):您可以设置 git(或您的 git 存储库选项)以在 git 中使用 NL,并在 Windows 中结帐时使用 CR/LF。 (可能它已经是默认值了,但应该没关系)。注意:使用 UTF-8 编码(Python 中默认) @GiacomoCatenazzi 很抱歉我的陈述不清楚。我目前的方法是在 Windows 中进行所有版本控制(例如签出分支、提交),在 Windows 中编辑我的代码(代码将自动上传到 Linux),(构建和)在 Linux 中运行我的代码。我认为有更好的方法可以做到这一点,所以我在这里问这个问题。这里已经有一些答案(包括你的),我试着去理解它们。 【参考方案1】:

并将代码上传到 Linux

如果您的 Linux 机器可以通过 SSH 访问(并且安装了 Git),更好的选择是 git push 将您的代码发送到您的 Linux 机器,使用:

裸仓库 一个 post-receive 挂钩,用于在所述 Linux 服务器上根据需要签出/恢复代码。

你可以看到example here。

【讨论】:

是的,我的 Linux 机器可以通过 SSH 访问并且安装了 git。我对裸存储库和 git hooks 知之甚少,我将尝试学习它。感谢您的回复!

以上是关于当我在 Windows 中编辑代码但在 Linux 中构建和运行代码时如何使用 git 进行版本控制(使用 pycharm)的主要内容,如果未能解决你的问题,请参考以下文章

Ostream tellp 在 Windows 上失败,但在 Linux 上失败

BOOST ASIO:为啥我在 Windows 中没有得到“绑定:地址已在使用”(但在 Linux 中得到它)?

PHP 站点在 linux 上运行,但在 windows 上不运行

为啥这个 c++ 代码在 Linux 中可以正常工作,但在 Windows 中却不能[关闭]

python串口代码在windows中工作,但在linux中不工作

C++ 程序在 Linux 上完美运行,但不能在 Windows 上运行