图解 Git,一目了然!
上方蓝色“程序员追风”,选择“设为星标”
回复“资料”获取整理好的面试资料
程序员追风
专注于分享Java各类学习笔记、面试题以及IT类资讯。
0篇原创内容
Official Account
来源:marklodato.github.io/visual-git-guide/index-zh-cn.html
第1-100期:
基本用法
-
git add *files*
把当前文件放入暂存区域。 -
git commit
给暂存区域生成快照并提交。 -
git reset -- *files*
用来撤销最后一次git add *files*
,你也可以用git reset
撤销所有暂存区域文件。 -
git checkout -- *files*
把文件从暂存区域复制到工作目录,用来丢弃本地修改。
git reset -p
,
git checkout -p
, or
git add -p
进入交互模式。
-
git commit -a
相当于运行git add
把所有当前目录下的文件加入暂存区域再运行。git commit
. -
git commit *files*
进行一次包含最后一次提交加上工作目录中文件快照的提交。并且文件被添加到暂存区域。 -
git checkout HEAD -- *files*
回滚到复制最后一次提交。
约定
命令详解
Diff
Commit
git commit --amend
。git会使用与当前提交相同的父节点进行一次新提交,旧的提交会被取消。
Checkout
git checkout HEAD~ foo.c
会将提交节点
HEAD~(即当前提交节点的父节点)中的
foo.c
复制到工作目录并且加到暂存区域中。(如果命令中没有指定提交节点,则会从暂存区域中拷贝内容。)注意当前分支不会发生变化。
git checkout v1.6.6.1
(这是一个标签,而非分支名),编译,安装,然后切换回另一个分支,比如说
git checkout main
。然而,当提交操作涉及到“分离的HEAD”时,其行为会略有不同,详情见在下面。
HEAD标识处于分离状态时的提交操作
git checkout -b *name*
来创建一个新的分支。
Reset
--hard
选项,那么工作目录也更新,如果用
--soft
选项,那么都不变。
--hard
选项,工作目录也同样。
-p
选项), 那么工作效果和带文件名的checkout差不多,除了索引被更新。
Merge
Cherry Pick
Rebase
--onto
选项。下面的命令在
main分支上重演当前分支从
169a6以来的最近几个提交,即
2c33a。
git rebase --interactive
让你更方便的完成一些复杂操作,比如丢弃、重排、修改、合并提交。
技术说明
git commit --amend
或者
git rebase
很像。
程序员追风
专注于分享Java各类学习笔记、面试题以及IT类资讯。
0篇原创内容
Official Account