我正在一个网站上工作并不断从开发模式(代码中的每个URL指向localhost,数据库命名为"project",用户"root",空密码等)切换到生产模式(我的托管,真实密码,真实网址等所有设置都可以使用.)我最近才开始使用Git.
现在,我想建立一个代码准备上传到我的托管的分支,所以我不需要复制并在每次我想要更新我的网站时手动更改所有内容.因此,如果我在代码中进行更改并在master分支中提交,它将反映在上载代码中而不会更改其他内容.
所以它会是:
Master -> ReadyForUpload
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,当使用Git时,每个分支是否存储在物理存储中,就像目录中的每个文件一样?是否可以将分支导出到目录?
顺便说一句,我正在使用Windows的Git扩展.
不可以.其他一些版本控制系统(例如Subversion)将分支存储为子目录.在git中你有一个工作区域,并改变你在其中工作的分支,
例如.
git branch ReadyForUpload
git checkout ReadyForUpload
Run Code Online (Sandbox Code Playgroud)
似乎没有任何改变,但您现在正在ReadyForUpload分支中工作.
如果你然后做了一些改变并提交它们,你就做了
git checkout Master
Run Code Online (Sandbox Code Playgroud)
你将回到masterbranch并且ReadyForUpload中的更改消失了(也就是说,只是存储起来)
当然,如果您出于某种原因希望同时拥有两个分支,您可以将您的存储库克隆到另一个目录并在那里检出另一个分支 - 使用git pull或git push在适用的地方同步它们.