各位编码员,今天是我第一次使用Mac上的Tower进入git - 生命太短暂,不能搞乱命令行;)
我确实阅读了一些介绍和教程,但没有一个解决我正在写的问题.我在git与SVN中理解工作目录概念时遇到了一些麻烦.
我做了什么:
这些步骤有效.
到目前为止,我没有被要求提供工作目录的位置,我无法检查主HEAD(该选项被禁用).我的问题是:我的原始文件夹是否作为结帐工作目录?checkout命令何时起作用?当我有多个分支时,它才会发挥作用吗?
希望有人能在我进一步说明之前澄清这一点.
当从一个源控制系统切换到另一个源控制系统时,人们经常发现有许多共同的术语,除了一些"共同"术语在两个系统中实际上具有不同的含义.它变得更加混乱,因为git的分支模型与SVN的分支模型完全不同.(警告:我的SVN有点生锈,所以随时纠正任何错误.)
工作目录具有相同的含义:它是您检出存储库的目录(或您创建本地存储库的目录),以及您直接使用的文件驻留的位置.但是,SVN调用签出(即复制远程存储库的内容并将存储库"链接"到远程存储库)称为git中的克隆.在git中,签出意味着切换到另一个分支或修订.
在SVN,通过"复制"整个仓库到另一个文件夹(在服务器上)的分支作品,并在本地,你可以检出分支(到另一个工作目录,如果你愿意的话).所以从某种意义上说,分支本身就是一个完整的存储库.
在git中,只有一个存储库,它包含整个开发历史记录作为修订的非循环图.修订版有一个或两个父项,并且给定修订版,任何数量的修订版都可以将其作为父项(因此许多修订版可以从一个修订版中分出,修订版可以是两个修订版序列的合并).在任何时候,您都可以签出特定的修订版.此操作将使工作目录内容等于指定修订时的内容(换句话说,它将"重放"从初始修订到指定修订的所有修订).
那么git中的一个分支是什么?它只是附加到修订版的标签.如果您签出一个分支,您将获得与直接签出分支的修订版相同的效果,但是当您提交时,标签将自动前进到新版本.
最后:在SVN中,HEAD指的是"主"分支; 在git中,它指的是您当前检出的提交或分支.
答案稍微简短一些:
git checkout用于在分支之间切换| 归档时间: |
|
| 查看次数: |
8076 次 |
| 最近记录: |