我刚开始在我的论文中使用 git,我的问题是什么是适合我的工作流程。这是我的先决条件:
使用的硬件:
- 家用笔记本电脑 A
- 笔记本电脑 B 我在图书馆时使用的上网本
- 大学里的台式电脑
- 我的大学服务器上的私有文件空间也运行 git(由大学预安装,很好,不是吗?)
在知道之前我所做的就是用 LaTeX 写我的论文并在所有这些计算机之间手动复制它。我经常写某事。在一台机器上,但后来我放了一天假,我不知道我的最新版本在哪里。在这些情况下,我使用 diff 来比较并找出最新的文档。
一点点阅读关于 git 的内容告诉我,它对我有很大帮助。我想到了一些事情,比如在服务器上有一个中央仓库,并用所有的计算机推/拉它。
我现在在服务器上创建了一个裸仓库,并git init
在每台计算机上创建了本地存储库(by)。
但我不确定这是否正确:现在所有计算机都处于同步状态,因此所有本地存储库都包含相同的文件/版本。我已经从我的笔记本电脑 A 推送到服务器上的裸仓库。
我试图从服务器回购拉到我的台式电脑:
git pull origin master
输出:
* branch master -> FETCH_HEAD
Merge made by the 'recursive' strategy.
如果我理解正确的话,那会在我的台式计算机上创建一个分支。在我开始使用台式电脑之前,我是否应该在此之后应用任何进一步的操作?
另一种尝试是:
git pull origin master:master
输出:
! [rejected] master -> master (non-fast-forward)
就我在 Git 书中读到的而言,这是一种预期的行为,但我无法说出原因。这不会阻止每次拉取时创建一个新分支吗?
无论如何,我现在阅读了许多关于 stackoverflow 的帖子以及官方 git 书籍中的一些章节,但我必须说,我的脑袋有点嗡嗡作响。
我不知道我从这里开始的工作流程是否完全适合我想要实现的目标。也许我不应该使用服务器 git 而只是克隆到文件空间?有人能让我走上正轨吗?
非常感谢。