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。