git 关于分支和仓库的理解

何时需要init

git init//初始化本地仓库

.git目录

如果初始化就会在当前文件夹中出现.git的目录,该目录默认是隐藏的,需要关闭显示隐藏文件才能看到。执行完git init命令后,当前目录就成为了工作区(工作区可以理解为操作本地仓库的车间)。一般情况是一个项目一个.git目录,如果像下面把不同项目都放在一起,那就应该到对应的文件夹下再使用git init 命令。

git 关于分支和仓库的理解_第1张图片

如果本地仓库要拉取远程,直接使用clone,不需要初始化。拉取完的文件夹中会带着.git目录。

下表做了一个简要对比

本地仓库

远程仓库

代码

clone

init

关于分支的理解

master

Git 的分支,本质是指向提交对象的可变指针。 Git 的默认分支名字是 master,并不是一个特殊分支,跟其它分支没有区别。 几乎每个仓库都有 master 分支,是因为前面提到的git init 命令默认建立。

在本地看到的这个master或者使用git checkout 分支 命令切换到的分支是远程的分支吗,今天之前我一直以为是远程分支,但是总觉得有点问题,今天通过几个命令进行了验证

 git branch
git branch -a
git checkout dev

git branch查看查看保存在了本地仓库的分支信息,而并不是远程仓库

git 关于分支和仓库的理解_第2张图片

上图可以看到本地现在只有一个main分支

当使用git checkout dev 分支之后,出现了下图的提示信息,翻译过来的意思是

“切换到新分支“dev”

分支“dev”设置为从“origin”跟踪远程分支“dev”。”

可以理解为,本地分支和远程分支进行了对接。

再查看本地分支就出现了两个分支名,绿色代表在本分支下面

git 关于分支和仓库的理解_第3张图片

假设切换一个远程没有的分支会怎样呢,找不到匹配分支

附常用命令:

连接GitHub远程仓库,命令:git remote add origin http地址

拉取仓库中的代码,命令:git pull --rebase origin master

添加文件,命令:git add .

添加提交信息,命令:git commit -m "提交信息"

提交代码,命令:git push -u origin master

更新分支:git fetch origin --prune

切换分支:git checkout dev

你可能感兴趣的:(工具,git,github)