精通 git 的人可以帮助我理解 repo 和 branch 之间的区别。我最近被介绍给 git 并且很难理解它们。我被告知将远程仓库(例如 foo)克隆到我的本地盒子。然后从中创建一个本地分支。在分支上工作(更新/创建/删除文件)并添加/提交/推送到远程服务器(例如 bitbucket)。在第二组眼睛检查分支并说好的之后。然后它被 merge 到开发或主分支。
那么存储库在这幅图中扮演什么角色?对我来说,我运行的所有操作都是针对分支的...
最佳答案
存储库 是您在计算机上克隆的整个项目(目录和文件)。 分支 是您存储库的一个版本,或者换句话说,一个独立的开发线。
一个存储库可以包含多个分支,这意味着存储库有多个版本。毕竟,对代码进行版本控制的目的是,您可以同时处理项目的多个方面 - 每个方面都在不同的分支中发展。 Git 在“分支”旁边使用“工作树”(代表您的工作台)这一表达方式。
相关:如果您想了解更多关于 local and remote branches 的信息.
关于您最初问题中处理分支的方式:
Clone a remote repo (e.g. foo) to my local box. Then create a local branch out of it. Work (update/create/delete files) on the branch and add/commit/push to the remote server
这是使用 git 的一种非常干净的方式。我建议你总是这样进行:
----A---B---C-- (REMOTE, master)
|
| (Pull to local : `git pull origin master`)
v
----A---B---C-- (LOCAL, master)
然后从本地主服务器创建一个分支(git checkout -b branch1
),处理它,提交更改并推送到远程:
----A---B---C------ (REMOTE, master)
----A---B---C---D-- (REMOTE, branch1)
^
|
| (Push to remote : `git push origin branch1`)
----A---B---C------ (LOCAL, master)
\
D---- (LOCAL, branch1)
然后,当您对您的功能/修复/任何内容感到满意时,您可以将 branch1
merge 到 master
中。
关于git - git中的存储库和分支有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41398489/