- git的三个区,工作区,暂存区,版本库
- 新建轻量标签:git tag -a v0.0 -m “this is my first version”
- 显示当前分支所有标签 git tag
- 显示标签v0.0详细信息 git show v0.0
- 缓存+提交:git commit -am “xxxx”
- 查询提交摘要 git log --oneline
- git reset commit_id, 复位所有的提交,但是之前修改的内容仍然保留
- git reset commit_id --hard, 连同提交与修改一同作废(可以结合git reflog 使用,在不同commit之间“硬切换”)
- git checkout commit_id, 切回到某次commit,指针仍然是游离的,此时需要git switch -c branch 来切换分支
- git revert commit_id, 保留commit_id这次提交,并产生一次新的提交
- git rebase -i commit_id, 产生一次
- git diff HEAD – file_name.txt,查看某个文件的修改提交历史。
- git diff 查看已经add没有commit的改动。
- git diff --cached 查看当前没有add和commit的改动。
- git diff ver1 ver2, 比较两个版本之间的差异。
- git reset HEAD 可以把暂存区的修改撤销掉(unstage),重新放回工作区
- git checkout – file_name.txt,直接丢弃工作区的修改,git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”,因此当工作区误删除后,可以通过git checkout检出版本库里的内容。如果想要撤销提交到暂存区后的文件内容怎么办呢(即执行git add之后),我们可以使用git reset HEAD file命令撤销提交到暂存区的内容,再使用git checkout – file命令来撤销工作区的修改,需要分两步进行操作。
- git rm file_name 用于从版本库删除一个文件,git rm file_name --cached 用于从暂存区删除一个文件
- git merge命令用于合并指定分支到当前分支
- git branch -d 删除分支,因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。如果切换到新分支的时候,master分支没有再修改,则merge的时候为fast-forward模式
- 分支策略:master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本。
- Git有commit,为什么还要引入tag?tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。默认标签是打在最新提交的commit上的。
- git tag v0.9 f52c633,打历史标签,注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show 查看标签信息。
- 在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支issue01来修复,修复后,合并分支,然后将临时分支issue01删除。
- 如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除
- git tag -a v0.1 -m “version 0.1 released” 1094adb,创建带有说明的标签,用-a指定标签名,-m指定说明文字
- git tag --sort=taggerdate,按照时间来排列tag,最新的 tag 排在最下面
- git commit --amend, 继续上次提交
git学习笔记
最新推荐文章于 2024-08-14 09:44:30 发布