关于 Git 单台 user/multiple 计算机版本控制的新手问题

Novice question about Git versioning for single user/multiple computer

到目前为止,我使用子文件夹为每个版本进行版本控制,并使用 syncthing 在计算机之间进行同步。 它有效,但很容易在编辑错误版本和类似内容时出错。所以我想切换到一些版本控制软件。 Git 似乎能够做到这一点,甚至更多。但似乎 Git 提供了很多,我看不到正确的方法。

例如,我确实创建了项目文件夹并编写了 .gitignore 文件,其中包含我不想在 Git 中的文件列表(主要是编译结果) 之后我写了一些资源然后发布:

git add .
git commit -a -m "the commit remark"

而且我假设我需要每小时发出一次该命令。所以如果我犯了一些愚蠢的错误,我可以恢复。 现在我有一个问题,当我得到一些稳定的代码时,我想将其命名为版本 v1.0。如何正确地做到这一点? 我需要做分支还是只做标签就足够了? 当我拥有 v1.0 时如何继续为未来的 v1.1 工作? 我应该在 master 上工作还是最好创建分支 v1.1 并在这里工作。 如果我在 v1.0 上做一些小改动,它也会出现在 v1.1 上吗?

现在我有 3 台电脑(工作电脑、家用电脑、笔记本电脑),我使用 syncthing 使它们保持同步。通常工作计算机是永久打开的,其他两个是按需打开的。但只有我使用它们。 我做了小测试,似乎 Git 回购协议与 syncthing 同步正常。但我想知道 Git 是否有更好的方法来同步我的所有计算机。但我不喜欢将我的代码放在云端。 如何管理?

感谢您的帮助

创建版本

Now I have the question when I got some stable code I want to name that as version v1.0. How to do that correctly?

Git为此提供了tags。要创建标签,请使用 git tag <tag name>.

标签基本上是特定提交的名称。您可以使用 git checkout <tag name> 查看(获取代码)标签。为了再次获取代码的当前版本,请使用 git checkout master.

正在同步

I do small test and seems that even git repo is synced ok with syncthing. But I wonder that GIT has maybe better way to sync all of my computers. But I don't like to have my code on cloud. How to manage that?

git 允许您 push (上传)您的提交 to.a git 服务器和 pull (下载)稍后的提交。

可以通过初始化裸存储库来创建服务器(使用 运行ning 24/7 的计算机)为此,请导航到您的服务器并 运行

git init --bare

这将创建一个没有任何文件签出的新存储库(只是一个服务器存储库)。

为了从 git 服务器推送 to/pull,您需要配置 remote.

最简单的方法是使用 betwork 股票。可以访问共享后,您可以像这样配置远程:

git remote add origin /srv/git/project.git

或 windows

git add origin Z:\your/git/repository.git

创建遥控器后,您可以使用 git push -u origin mastergit pull origin 以便 push/pull。

如果您不想使用网络共享,您可以使用 SSH 或智能 HTTP 服务器。

可以在 this chapter of Pro Git 中找到更多信息。

其他提示

我不会每隔一小时或类似时间(对于软件项目)自动提交和推送,但每次您更改某些内容时。

您可能还想在做任何您不确定的事情之前创建一个备份。 Git 允许您在大多数情况下恢复丢失的数据(使用 reflogcheckout),但这有点复杂。