我最近开始在我的Python脚本中使用git进行版本控制(使用git,magit和emacs中的Python),我不知道如何正确分支。
假设我创建了一个名为test.py的脚本,并将其提交到我的git存储库的master分支。这个脚本可能工作正常,但我需要进行一些实质性的更改(例如,转到master.py的2.0版本)。现在,test.py很重要,因为它在cron作业中不断使用,所以我想确保在我处理test.py 2.0时我可以继续调用原始文件。
我认为我应该做的是脱离主人(调用新分支"版本2")并继续处理更新。但是,我注意到当我在version2分支下保存test.py时,我在磁盘上覆盖了保存的test.py版本(即现在我的cron作业将调用test.py的未完成版本2)是否合理?
我的问题是:我可以继续使用version2分支下的test.py而不覆盖我的cron作业调用的test.py脚本吗?我想我不知道如何处理这种情况。
答案 0 :(得分:1)
您可能不应自动调用您开发的文件。解决问题的一种方法是使用git worktree
为version2
分支设置单独的工作树,使您的cron作业调用的master
工作树不受影响。
答案 1 :(得分:0)
您认为需要分支的假设是正确的。这意味着您可以拥有该文件的两个版本,并且可以在需要时使用它们。对test.py
进行更改后,您可以使用git checkout -b [new branch name]
创建新分支。如果您需要返回原始版本,只需再次结帐(git checkout master
)。
如果您对新版本文件中的更改感到满意,现在可以覆盖原始文件,则可以将该分支合并到主文件中:
git checkout master
git merge [new branch]
git branch -D [new branch] --this deletes the 'version 2' branch assuming you no longer need it.