標(biāo)簽: Git 學(xué)習(xí)筆記
一、安裝
yum install -y git
二、配置用戶信息及顏色高亮【本地倉(cāng)庫(kù)可選】
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
git config --global color.ui true
三、創(chuàng)建倉(cāng)庫(kù)repository【建議全英文路徑】
mkdir learngit
cd learngit
pwd
/Users/michael/learngit
四、常用命令
- 版本庫(kù)/倉(cāng)庫(kù)初始化:
git init(先cd到目錄下) - 把文件添加到倉(cāng)庫(kù):
git add readme.txt - 完成提交:
git commit -m "add readme.txt" - 查看倉(cāng)庫(kù)當(dāng)前狀態(tài):
git status - 對(duì)比文件前后修改:
git diff readme.txt
五、版本切換
- 查看提交歷史:
git log 或 git log --pretty=oneline --abbrev-commit - 退回上個(gè)版本:
git reset --hard HEAD^ - 退回上上個(gè)版本:
git reset --hard HEAD^^ - 退回指定ID對(duì)應(yīng)的版本:
git reset --hard commit_id - 查看命令歷史:
git reflog - 查看工作區(qū)和最終版本庫(kù)(最新版)里的區(qū)別:
git diff HEAD -- readme.txt
六、工作區(qū)(Working directory)、暫存區(qū)(stage)、版本庫(kù)(repository)的后悔藥
- 版本庫(kù)回撤(已git commit):
git reset --hard commit_id - 暫存區(qū)回撤(已git add):
git reset HEAD filename - 工作區(qū)回撤(已修改,未git add過(guò)):
git checkout -- filename(實(shí)際是用版本庫(kù)里的版本替換工作區(qū)的版本) - 刪除文件:
git rm filename(到暫存區(qū)),git commit后到repo生效
七、遠(yuǎn)程倉(cāng)庫(kù)操作(Github為例)
- 生成ssh密鑰:用戶主目錄下輸入
ssh-keygen -t rsa -C "email@example.com" - .ssh目錄下可看到id_rsa(私鑰)、id_rsa.pub(公鑰)
- Github上增加ssh key,填入上述公鑰內(nèi)容
- 新建Github倉(cāng)庫(kù),名稱learngit
- 關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù):
git remote add origin git@github.com:satorioh/learngit.git - 第一次推送本地倉(cāng)庫(kù)到遠(yuǎn)程,并關(guān)聯(lián)同步:
git push -u origin master(后續(xù)不用加參數(shù)u) - 克隆遠(yuǎn)程倉(cāng)庫(kù):
git clone git@github.com:satorioh/gitskills.git - 查看遠(yuǎn)程庫(kù)信息:
git remote -v - 本地創(chuàng)建和遠(yuǎn)程分支對(duì)應(yīng)的分支(名稱最好一致):
git checkout -b branch-name origin/branch-name - 建立本地分支與遠(yuǎn)程分支的關(guān)聯(lián):
git branch --set-upstream origin/branch-name branch-name - 抓取遠(yuǎn)程分支:
git pull
八、分支管理
- 創(chuàng)建分支:
git branch dev - 切換分支:
git checkout dev - 查看當(dāng)前分支:
git branch - 合并分支:
git merge dev(ff模式)、git merge --no-ff -m "" dev(no ff普通模式) - 刪除分支:
git branch -d dev - 冷凍當(dāng)前工作區(qū)內(nèi)容:
git stash - 查看冷凍的內(nèi)容:
git stash list - 解凍內(nèi)容:
git stash apply stash@{0}(不丟棄stash),git stash pop(同時(shí)丟棄stash) - 刪除未合并的分支:
git branch -D <name>
九、標(biāo)簽管理
- 新建標(biāo)簽:
git tag v1.0(默認(rèn)為HEAD) - 查看所有標(biāo)簽:
git tag - 查看某個(gè)標(biāo)簽的詳細(xì)內(nèi)容:
git show v1.0 - 推送一個(gè)本地標(biāo)簽:
git push origin <tagname> - 推送全部未推送過(guò)的本地標(biāo)簽:
git push origin --tags
十、Git配置文件
- 倉(cāng)庫(kù)的Git配置文件:.git/config(ls -al查看)文件
- 當(dāng)前用戶的Git配置文件:用戶主目錄的.gitconfig文件中
參考文獻(xiàn)
轉(zhuǎn)載請(qǐng)以鏈接形式標(biāo)明本文地址:https://roubintech.com/post/git-study-note/