git常用命令大全-值得收藏

一、git安裝后-指定名稱和郵箱

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

二、創(chuàng)建版本庫

$ mkdir mygit   //創(chuàng)建
$ cd mygit  //使用
$ pwd   //查看當(dāng)前目錄
$ git init  //初始化,生成.git文件(若該文件隱藏,則使用ls -ah)

三、把文件添加add和提交commit到版本庫

$ git add test.txt  //添加
$ git commit -m "wrote a test file" //提交 (也可以一次性提交多個文件)

*注意:必須在當(dāng)前版本庫和當(dāng)前目錄下

四、版本控制

$ git log   //查看提交歷史記錄,從最近到最遠(yuǎn),可以看到3次
$ git log --pretty=oneline  //加參,簡潔查看
$ git reflog    //查看每一次修改歷史
$ cat test.txt  //查看文件內(nèi)容
$ git status    //查看工作區(qū)中文件當(dāng)前狀態(tài)
$ git reset --hard HEAD^(HEAD~100)(commit id)   //回退版本
$ git checkout -- test.txt  //丟棄工作區(qū)的修改,即撤銷修改
$ git reset HEAD test.txt   //丟棄暫存區(qū)的修改(若已提交,則回退)

五、刪除文件

$ rm test.txt
//直接刪除
$ git rm test.txt
$ git commit -m "remove test.txt"
//刪錯了,恢復(fù)
$ git checkout -- test.txt

六、遠(yuǎn)程倉庫

$ ssh-keygen -t rsa -C "youremail@example.com"  //創(chuàng)建SSH Key
$ git remote add origin git@github.com:Daisy/AKgit.git  //關(guān)聯(lián)
$ git push -u origin master //將本地內(nèi)容推送到遠(yuǎn)程倉庫(第一次)
$ git push origin master    //將本地內(nèi)容推送到遠(yuǎn)程倉庫(之后)
$ git remote -v        //查看遠(yuǎn)程倉庫信息
$ git remote rm origin  //刪除遠(yuǎn)程倉庫(解綁)
$ git clone git@github.com: Daisy/AKgit.git //克隆遠(yuǎn)程倉庫
//克隆之后使用和查看
$ cd gitskills
$ ls
$ git remote    //查看遠(yuǎn)程庫的信息
$ git remote -v //查看遠(yuǎn)程庫的詳細(xì)信息

七、多人協(xié)作

$ git checkout -b dev   //創(chuàng)建并切換到分支dev
//創(chuàng)建并切換到分支dev,同上
$ git branch dev    //創(chuàng)建
$ git checkout dev  //切換
//新版本
$ git switch -c dev //創(chuàng)建并切換到分支dev
$ git switch master //直接切換分支
$ git branch        //查看當(dāng)前分支
$ git merge dev (--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
$ git branch -d dev //刪除dev分支 
$ git stash //將現(xiàn)場儲藏起來
$ git stash list    //查看儲存的工作現(xiàn)場
//恢復(fù)和刪除
$ git stash apply
$ git stash drop
//恢復(fù)并刪除
$ git stash pop
$ git cherry-pick 4c805e2   //復(fù)制修改
$ git push origin master(dev)   //推送分支
$ git checkout -b dev origin/dev    //創(chuàng)建遠(yuǎn)程origin的dev分支到本地
$ git pull  //抓取分支(解決沖突)
$ git branch --set-upstream-to=origin/dev dev//指定本地與遠(yuǎn)程dev的鏈接
$ git rebase    //把本地未push的分叉提交歷史整理成直線

八、標(biāo)簽管理

$ git tag v1.0  //打標(biāo)簽
$ git tag -a v0.1 -m "version 0.1 released" 1000adb //指定標(biāo)簽名和說明文字
$ git tag   //查看所有標(biāo)簽
//若是忘記打,則查找歷史提交commit id ,再打上
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 f27c369
$ git show v0.9     //查看標(biāo)簽詳細(xì)信息
$ git tag -d v0.1   //刪除標(biāo)簽
$ git push origin v1.0  //推送標(biāo)簽到遠(yuǎn)程
$ git push origin –tags //一次性推送全部本地標(biāo)簽
//刪除標(biāo)簽,(若已推送到遠(yuǎn)程,先從本地刪除,從遠(yuǎn)程刪除)
$ git tag -d v0.9
$ git push origin :refs/tags/v0.9 

九、自定義git

$ git config --global color.ui true //讓git顯示顏色
//忽略特殊文件
//.gitignore文件
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
# My configurations:
db.ini
deploy_key_rsa
//把該文件也提交到git
$ git add -f App.class      //強(qiáng)制添加被忽略的特殊文件
$ git check-ignore -v App.class //檢查哪個規(guī)則出錯
# 排除所有.開頭的隱藏文件:
.*
# 排除所有.class文件:
*.class
# 不排除.gitignore和App.class:
!.gitignore
!App.class
$ git config --global alias.st status   //配置別名
$ git config --global alias.unstage 'reset HEAD'  //配置操作別名
$ git config --global alias.last 'log -1'   //顯示最后一次提交信息
$ git last  //顯示最近一次的提交
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s 
%Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"  //顏色
$ cat .git/config //查看每個倉庫的git配置文件
$ cat .gitconfig  //查看當(dāng)前用戶的git配置文件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容