我是版本控制的新手,但我很快发现Git是a great way to manage my collection of writings。这是一个稍微不寻常的用例,所以我有一个问题,关于Git的哪些函数最能帮助我管理“收集”的文章(即整套)和管理“选定”的文章(即集合的子集) )。
例如,我有一个包含200个.txt文件的存储库。每一首都是一首诗的文字。现在,我想留出20个这样的文件,例如,创建一个手稿。当我使用这20个文件并将它们视为一个组时,我可能会对它们进行更改。当然,我想将这些更改反映在我所有200个文件的“主”存储库中。
我见过各种方法可能对此有用,我很困惑。
branch
can handle this in a nice way, with help from merge
--strategy ours
submodule
,因为它可以让我这样做
分别跟踪稿件项目的问题,并保持相关
wiki,作为bitbucket或任何地方的项目。它也可能会
合作稍微容易一点。但是,我听到了
子模块存在缺陷。那些证明是一个
我的问题?subtree
。这对我来说是一个更好的方法吗?
记得吗?子树或子模块可以使用我喜欢的分支合并策略吗?答案 0 :(得分:-1)
我可能会忽略这一点。 git的存在理由是它很容易分支。这基本上允许您非常简单地创建一个平行的工作线。
但是,如果你只是从你的主人那里创建一个分支,那就整理你的20或者诗歌。一个文件夹,然后提交到这个新分支(维护你的20首诗歌的平行世界),然后当你希望这些更改在你的主分支中注册时,将它合并到主文件中。
$ git branch manuscript
$ git checkout manuscript
$ mkdir my20poems
$ cp *.poems my20poems
$ git add my20poems
# make your changes, now commit them in my commit graph
$ git commit -m "did some work"
# now I want these changes in master
$ git checkout master
$ git merge manuscript #or even use the --no-ff switch if you want the branch history kept
您可以随时重新访问之前的任何提交,以便保留所有提交的状态。
$ git log --oneline --decorate --graph --all