git 一定要用 [GUI](GUI.md)
git 一定要用 [GUI](GUI.md)
git 一定要用 [GUI](GUI.md)
## @如何规范 git commit
如何规范你的 Git commit?- 阿里云开发者的文章 - 知乎
https://zhuanlan.zhihu.com/p/182553920
## @新手如何用 [1 最近项目/++Vue学习/github](1%20最近项目/++Vue学习/github)
新手该如何使用 GitHub?- 程序员吴师兄的回答 - 知乎
https://www.zhihu.com/question/21669554/answer/1230957628
## 本地仓库的本质是入度为 1,出度不限的 [有向图](有向图)
- [branch](branch) 本质是用终点 node 表示的 LinkedList
- [merge](merge) 的本质是给两个 [branch](branch) 生成一个共同的新的 [revision](revision),[rebase](rebase) 是移植一个 branch 到另一个上
- 一次 [revision](revision) 就是 [branch](branch) 上的一个 node 节点,[commit](commit.md) 操作可以生成一个新的 [revision](revision),[tag](tag) 与某个 [revision](revision) 绑定
- [head](head) 是当下的游标指向的位置
- [check out](check%20out) 可以切换 [branch](branch) 或者 [revision](revision)
- 场景:要从 A [branch](branch) 切换到 B,这时候还不想把新写的 uncommited 的东西 [commit](commit.md) 到 A,那么就可以先 [stash](stash)
- [cherry-pick](cherry-pick.md) 可以把某个 [revision](revision) 移动到某个 [branch](branch) 上
## 本地与远程库交互
在本地初始化一个远程库:[clone](clone.md)
本地同步远程库的状态:[pull](pull)=[fetch](fetch)+[merge](merge)、 [pull -rebase](pull%20-rebase) = [fetch](fetch)+[rebase](rebase)
把本地的状态推送到远程库:[push](push)