对 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 等)
3.
考虑在这些地方之间移动文件(或更改):
git add
工作目录 => 暂存
git commit
暂存 => HEAD
git push
HEAD => 远程仓库
git stash
工作目录 <=> 存储
git reset
并git checkout
从上游拉
4.
为什么要有专门的暂存区?
这样您就可以在提交之前选择并检查要提交的文件和更改。
5.
git status
显示工作目录和暂存区中的更改,但请将它们视为独立的事物。
git log
显示本地存储库的提交历史记录
6.
学会爱git log
这是 repo 状态的快照:显示过去的提交以及本地 HEAD、本地分支、远程 HEAD 和远程分支
git log --oneline
是查看提交历史的紧凑方式
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