git 进阶 重难点学习(git checkout和git branch 的区别 git reset 和git revert的用法)git 里面origin /head

发布时间 2023-12-22 17:42:31作者: 学不会xuebuhui

git 几个分区

工作区 暂存区 本地仓库和远程仓库

疑难问题:

1. git pull是到本地仓库还是工作区

git pull 命令会将远程仓库的更新内容拉取到本地仓库,并将其合并到当前分支的工作区中。具体来说,git pull 命令首先从远程仓库拉取最新的提交到你的本地仓库,然后将这些变化合并到你当前所在的分支上,最后将合并结果更新到你的工作区。

因此,git pull 命令会直接影响你的工作区,将更新的内容合并到当前分支的工作区中。如果你的工作区中有未提交的更改,git pull 会尝试自动合并这些更改和远程仓库的更新内容,如果存在冲突则需要手动解决冲突。

总之,git pull 命令会将远程仓库的更新内容拉取到本地仓库,并将其合并到当前分支的工作区中。
如何本地工作区有没有暂存的提交会提示无法pull 请先add commit 到本地仓库

2. git branch和git checkout的区别

git checkoutgit branch 是 Git 中两个常用的命令,它们的作用不同。

git checkout 命令用于切换分支或恢复文件。例如,可以使用 git checkout branch_name 切换到另一个分支,也可以使用 git checkout file_name 恢复文件到上一次提交的状态。

git branch 命令用于创建、列出、删除分支。例如,可以使用 git branch 列出所有分支,使用 git branch branch_name 创建新分支,使用 git branch -d branch_name 删除分支。
git branch -f 可以强制将分支指向哪一次提交
总的来说,git checkout 主要用于分支切换和文件恢复,而 git branch 主要用于分支管理。

3. git reset 和git revert的区别

git reset 和git revert都是对本地的git进行操作,区别就是git revert 会生成一个本地提交

git reset撤销本地的提交,同时移动head 和分支,但不会提交撤销的记录

git origin

在 Git 中,origin 是一个默认的远程仓库的名称。通常情况下,当你克隆一个远程仓库时,Git 会自动创建一个名为 origin 的远程仓库,并将其作为默认的远程仓库。

当你执行像 git pull origin mastergit push origin master 这样的命令时,origin 表示远程仓库的名称,而 master 表示分支的名称。

你也可以通过 git remote -v 命令来查看远程仓库的详细信息,包括 origin 所指向的远程仓库的 URL。

总之,origin 在 Git 中通常表示默认的远程仓库的名称,用于指代远程仓库的地址。

关于head(head就是*)

head是指当前分支,指向最新的提交
在 Git 中,HEAD 是一个指向当前所在分支的引用(reference)。它是一个指针,指向当前被检出(checked out)的分支或者提交(commit)。HEAD 始终指向当前所在的分支的最新提交,或者在分离头指针(detached HEAD)状态下,指向一个具体的提交而不是一个分支。

当你切换分支时,HEAD 会随之移动,指向新的分支。当你提交新的更改时,HEAD 也会随着当前分支的最新提交而移动。

在分离头指针状态下,HEAD 直接指向一个具体的提交,而不是指向任何分支。这种情况通常发生在你检出某个特定的提交而不是一个分支时,例如通过提交的哈希值来检出。

总之,HEAD 在 Git 中是一个指向当前所在分支或提交的引用,它可以帮助你确定当前工作目录所在的状态。

head 游离

head一般是指向当前分支的最新提交
通过git checkout 可以分离分支和提交