本文介紹git常用的操作命令,供大家參考。
1、開始
# 初始化本地git
git init# 在初始化的目錄中,創建readme.txt,添加到git庫中
git add readme.txt
git commit -m "寫了一個readme.txt文件"
2、版本回退
2.1、git reset
git log
git log --pretty=oneline# 回退
git reset --hard HEAD^
- –hard:回退到上個版本的已提交狀態。
- –soft:回退到上個版本的未提交狀態。
- –mixed:回退到上個版本已添加但未提交的狀態。
# 回到指定版本,往前往后都可以
git reset --hard f060 # 查看提交的id,當用git log命令找不到你想要的id時使用。一般是先回退,后來又反悔了。
git reflog
2.2、git restore
相對于git reset命令,git restore更好用一些,這是新命令,需要在2.23版本以上使用。
## 恢復a.txt到最近的提交
git restore a.txt## 將b.txt從暫存區移除
git restore --staged b.txt## 從指定提交回復文件
git restore --source=HEAD~1 c.txt
3、幾個概念
- 工作區:就是你電腦的某個初始化了git的文件夾。
- 版本庫:工作區有個.git文件夾,隱藏的,這就是git的版本庫。
- stage:暫存區,執行 git add 命令時,就是把文件添加到暫存區。
- master:主分支,執行 git commit 命令時,實際是把暫存區的內容提交到master。
4、撤銷修改
當你修改了文件,又想恢復到修改前的狀態時,用下面的命令。用于恢復工作區和暫存區中的文件,也可以用于丟棄未提交的更改。
# 老命令,雙橫線不能少,否則就成了操作分支了
git checkout -- readme.txt# 新命令,用這個命令即可。
git restore readme.txt
5、遠程倉庫
5.1、生成ssh key
ssh-kengen -t rsa -C "你的郵箱"
找到.ssh目錄,windows系統在:C:\Users\Administrator.ssh。如果你不是用Administator登錄的,那就把Administrator換成你的用戶名。
執行上面命令后,在.ssh目錄下會生成兩個文件,id_rsa和id_rsa.pub。其中id_rsa.pub 是公鑰,如果你使用SSH key連接遠程倉庫時,把它的內容復制就行了,具體操作大家查一下。
5.2、使用gitee創建倉庫
注冊并登錄gitee,右上角加號,創建倉庫:
這是添加倉庫截圖,都很簡單,大家自行操作。
5.3、關聯本地倉庫與遠程倉庫
在本地倉庫目錄下,執行:
git remote add origin git@gitee.com:maodou95838_admin/a-test.git
注意:后面的maodou95838_admin/a-test.git寫成你自己的,否則是不能推送的。
5.4、推送
# 首次推送
# -u 關聯本地master和遠程master
git push -u origin master # 從第二次后就不用再加 -u
git push origin master
5.5、取消關聯
# 查看遠程庫的信息
git remote -v# 按照名字取消關聯
git remote rm origin
5.6、從遠程庫clone
git clone git@gitee.com:maodou95838_admin/a-test.git
6、分支管理
到現在為止,我們都是在master分支上操作。
6.1、checkout命令
# 創建并切換到dev
git checkout -b dev# 切換到master
git checkout master# 合并dev到master分支,注意:當前分支是master
git merge dev# 刪除dev分支
git branch -d dev
6.2、switch命令
# 創建并切換到dev分支
git switch -c dev# 切換到master
git switch master
6.3、stash
當你在分支上工作,工作沒做完又不能提交,現在要去別的分支上工作,此時stash就用上了。
# stash 用于暫存工作區
git stash# 查看工作區
git stash list# 恢復工作區并刪除stash的內容
git stash pop
6.4、rebase
git rebase
- rebase操作可以把本地未push的分叉提交歷史整理成直線。
- rebase的目的是使我們在查看歷史提交的變化時更容易。
7、標簽管理
# 當前提交打成v1.0
git tag v1.0# 查看
git tag# 給f12345提交打v0.2
git tag v0.2 f12345
創建的標簽只存儲在本地,不會自動推送到遠程。要推送某個標簽,使用:
git push origin v1.0
8、忽略本地文件
在工作區根目錄添加.gitignore文件,添加配置即可,github上也有現成的,拿下來修改就行了。
一個簡單的例子:
# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
8.1、檢查.gitignore
git check-ignore -v .idea/
8.2、強制添加文件
git add -f Abc.class
8.3、排查個別文件
# 排查所有.開頭的文件
.*# 不排除.gitignore
!.gitignore
9、配置別名
# 用st代替status
git config --global alias.st status# 后面使用git st相當于使用git status
git st
好了,git常用的操作就說完了,大家根據自己工作中的需要各取所需。
:)~