Git常用基础
branch
- 查看所有分支:
git branch -a
- 切换到分支:
git checkout develop
- 创建分支并切换到:
git checkout -b develop
- 创建一个新分支:
git checkout --orphan new_branch
--orphan
选项用于创建一个没有历史记录的分支
- 删除分支:
git branch -d develop
,注意只是删除本地分支,并不影响远程分支。 - 删除仓库内文件
git rm test.py
- 将工作目录中的变更(修改、新增、删除等)添加到暂存区(Staging Area)的命令:
git add
- 提交更新:
git commited -m '本次更新的情况说明'
aad
git add a.py
git add .
执行add后,还没执行commit时,想要撤销这次add,该怎么办?
git reset HEAD file
, 撤销单个文件
git reset HEAD
,撤销多个文件
reset
commit
git commit -m "本次提交说明"
stash
git stash
git stash pop
tag
引用别人的一句话,
tag
的本质就为某一次commit
起一个名字,以后通过tag
的名字,直接找到这次commit
之后的版本。
- 查看本地所有tag版本:
git tag
- 创建新的tag标签:
git tag -a v2.1 5e39ad35a98 -m "对于当前tag的描述"
- 不加描述创建tag标签:
git tag v2.1 5e39ad35a98
- 直接以最新一次commit版本创建tag:
git tag v2.4
- 显示某个tag的详细信息:
git show v2.4
- 删除某个tag标签:
git tag -d v2.4
新学的知识
- 通过
git rm
删除的文件同样需要被add
、commit
后才会生效
Q&A
- Q:本地刚拉取了远程仓库的最新状态,如何本地文件合并的痕迹?
A:git log --graph --oneline --all
- 我是想看某个文件合并前后的差异?
例如,如果合并前的 commit 是 abc123,合并后的 commit 是 def456,你可以执行:
git diff abc123 def456 path/to/your/file.txt
这里特别说明一下,git pull origin develop
执行之后会自动执行commit,此时可以通过git log
查看pull之后commit的SHA。