对 git 感到困惑?这里有一个 git 速成课程来解决这个问题 🎉 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

2025-05-24

对 Git 感到困惑?这里有一个 Git 速成课程来解决这个问题 🎉

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

这最初是在推特上发布的: https://twitter.com/chrisachard/status/1171124289128554498

注意:如果您正在寻找 git 的基本介绍,我建议您先阅读 Atlassian 的本指南。

您是否使用过 git 但还不太了解它?

这里有一个🔥 git 速成课程🔥来解决这个问题🎉

1.

Git 为您提供本地计算机上功能齐全的存储库

这与其他版本控制系统不同

一旦你接受了这一点,你就可以开始揭开 git 的一些“魔法”

去中心化仓库

2.

将文件(和更改)视为位于 5 个不同的位置或“状态”

  • 工作目录
  • 暂存(索引)
  • 提交树(本地仓库或 HEAD)
  • 远程仓库(github、Bitbucket、gitlab 等)

文件在 5 种状态之间移动

3.

考虑在这些地方之间移动文件(或更改):

git add工作目录 => 暂存

git commit暂存 => HEAD

git pushHEAD => 远程仓库

git stash工作目录 <=> 存储

git resetgit checkout从上游拉

在状态之间移动文件的命令

4.

为什么要有专门的暂存区?

这样您就可以在提交之前选择并检查要提交的文件和更改。

专用暂存区

5.

git status显示工作目录和暂存区中的更改,但请将它们视为独立的事物。

git log显示本地存储库的提交历史记录

git status 和 git log

6.

学会爱git log

这是 repo 状态的快照:显示过去的提交以及本地 HEAD、本地分支、远程 HEAD 和远程分支

git log --oneline是查看提交历史的紧凑方式

git 日志

7.

分支是对一行提交的末尾的引用

当新的提交添加到该行时它会自动更新

创建新的分支将使树在该点处分叉

分枝

8.

合并需要两个分支并进行新的提交,将它们组合在一起

如果存在冲突,您必须手动解决它们(没有捷径!)

合并

9.

git rebase让你重写提交历史

将当前提交直接应用到分支 HEAD

可以将所有提交压缩为一个,以清理历史记录

不要对公共(远程)提交执行此操作!

变基

10.

有人说你应该只合并以保留你的整个历史记录

有人说你应该在合并到 master 之前始终进行 rebase,以保持历史树的干净

我说的是:做任何对你和你的团队有用的事情🤷‍♂️

11.

HEAD 可以指向一个分支或特定的提交

如果它指向一个旧的提交,这就被称为“分离的 HEAD”

在分离的 HEAD 状态下进行编辑是危险的(可能会丢失工作或导致合并工作出现问题)

头

12.

许多 git 命令可以对以下对象进行操作:单个文件、提交或分支

这可能会引起很多混乱 - 所以请确保你知道你正在操作的对象的类型

13.

有很多方法可以撤消 git 中不需要的操作,
以下是最常见的:

取消暂存文件:git reset [file]

更改最后一个本地提交:git commit --amend

撤消本地提交:git reset [commit BEFORE the one to undo]

撤消远程提交:git revert [commit to undo]

14.

我还有很多事情可以谈!

关于 git 还有哪些事情令你感到困惑?

在下面发表评论,我会尽力回答或为您找到一些资源🙌

 

喜欢这个速成课程吗?

更多信息请关注我的推特:@chrisachard

或者您可以订阅新闻通讯:https://chrisachard.com/newsletter

感谢阅读!

文章来源:https://dev.to/chrisachard/confused-by-git-here-sa-git-crash-course-to-fix-that-4cmi
PREV
面向 Web 开发人员的 DNS 记录速成课程 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 备忘单
NEXT
精彩的 CSS 边框动画