用了這么久的 git 工具,中途也使用過(guò) SourceTree ,但是最后發(fā)現(xiàn),還是代碼香?。?br> 雖然之前也寫過(guò)一篇學(xué)習(xí)筆記「Git教程學(xué)習(xí)筆記和填坑總結(jié) 以及 SourceTree 工具的使用」,但是感覺(jué)那篇還是筆記冗余,看起來(lái)不是很明確,所以,整理這篇命令大全,可以更好的在工作中查閱相關(guān)的git命令。
下面,我們主要分享一下 Git 常用的命令以及詳細(xì)的命令行講解,歡迎各位小伙伴一起討論學(xué)習(xí)哦~
一、項(xiàng)目前的 Git 配置
1. 檢查 git 版本
git --version
2. 查看 git 相關(guān)命令
git --help
3. 查看當(dāng)前的 git 配置信息
git config --list
4. 查看 git 用戶名 或 郵箱
# 查詢git所使?的用戶名
git config user.name
# 查詢git所使?的email
git config user.email
# 注: --global 表示全局, 沒(méi)有--global表示只查詢?cè)诋?dāng)前項(xiàng)目中的配置
git config --global user.name
git config --global user.email
5. 全局配置用戶名(設(shè)置 git 使?者名稱)
git config --global user.name "username"
6. 設(shè)置 (配置)全局郵箱
git config --global user.email "eamil@qq.com"
二、Git 對(duì)項(xiàng)目代碼進(jìn)行管理
1. 初始化 git 儲(chǔ)存
git init
2. 需要提交的所有修改放到暫存區(qū)(Stage)
git add * # 將工作區(qū)所有修改添加到暫存區(qū)
git add . # 將工作區(qū)所有修改添加到暫存區(qū)
git add <file-name> # 將指定文件添加到暫存區(qū)
git add *.js # 提交所有 .js 格式文件
git add -f <file-name> # 強(qiáng)制添加 指定文件添加到暫存區(qū)
# 注:<file-name> 指的是文件的名稱
3. 將暫存區(qū)的文件恢復(fù)到工作區(qū)
git reset <file-name> # 從暫存區(qū)恢復(fù)指定到工作區(qū)
git reset -- . # 從暫存區(qū)恢復(fù)所有文件到工作區(qū)
git reset --hard # 把暫存區(qū)的修改退回到工作區(qū)
4. 查看工作區(qū)、暫存區(qū)的狀態(tài)
git status
5. 移除暫存區(qū)的修改
git rm --cached <file-name> # 將本地暫存區(qū)的內(nèi)容移除暫存區(qū)
6. 將緩存區(qū)的文件,提交到本地倉(cāng)庫(kù)(版本庫(kù) )
git commit <file-name> ... "相關(guān)的記錄信息" # 將緩存區(qū)的指定文件提交到本地倉(cāng)庫(kù)
git commit -m "相關(guān)的記錄信息" # 將緩存區(qū)的所有文件提交到本地倉(cāng)庫(kù)
git commit -am '相關(guān)的記錄信息' # 跳過(guò)暫存區(qū)域直接提交更新并且添加備注的記錄信息
git commit --amend '相關(guān)的記錄信息' # 使用一次新的commit,替代上一次提交,如果代碼沒(méi)有任何新變化,則用來(lái)修改上一次commit的提交記錄信息
7. 撤銷 commit 提交
git revert HEAD # 撤銷最近的一個(gè)提交(創(chuàng)建了一個(gè)撤銷上次提交(HEAD)的新提交)
git revert HEAD^ # 撤銷上上次的提交
三、查看日志
1. 查看歷史提交(commit)記錄
git log # 查看歷史commit記錄
git log --oneline # 以簡(jiǎn)潔的一行顯示,包含簡(jiǎn)潔哈希索引值
git log --pretty=oneline # 查看日志且并且顯示版本
git log --stat # 顯示每個(gè)commit中哪些文件被修改,分別添加或刪除了多少行
# 注:空格向下翻頁(yè),b向上翻頁(yè),q退出
2. 查看分支合并圖
git log --graph
3. 查看版本線圖
git log --oneline --graph
四、Git 版本控制
1. 回到指定哈希值對(duì)應(yīng)的版本
git reset --hard <Hash> # 回到指定 <Hash> 對(duì)應(yīng)的版本
# 注: <Hash> 是版本的哈希值
git reset --hard HEAD # 強(qiáng)制工作區(qū)、暫存區(qū)、本地庫(kù)為當(dāng)前HEAD指針?biāo)诘陌姹?/span>
2. 版本回退
git reset --hard HEAD~1 # 后退一個(gè)版本
# 注:~ 后面的數(shù)字表示回退多少個(gè)版本
五、分支管理
1. 查看分支
git branch # 查看所有本地分支
git branch -r # 查看所有遠(yuǎn)程分支
git branch -a # 查看所有遠(yuǎn)程分支和本地分支
git branch --merged # 查看已經(jīng)合并的分支
2. 創(chuàng)建分支(依然停留在當(dāng)前的分支)
git branch <branch-name> # 創(chuàng)建分支,依然停留在當(dāng)前的分支
# 注: <branch-name> 是分支的名稱
3. 切換分支
git checkout <branch-name> # 切換到指定分支,并更新工作區(qū)
git checkout - # 切換到上一個(gè)分支
4. 創(chuàng)建并切換分支(創(chuàng)建一個(gè)新的分支,并切換到這個(gè)新建的分支上)
git checkout -b <branch-name> # 創(chuàng)建一個(gè)新的分支,并切換到這個(gè)新建的分支上
5. 合并分支(合并某一個(gè)分支到當(dāng)前分支)
git merge <branch-name> # 合并<branch-name>分支到當(dāng)前分支
6. 刪除分支
git branch -d <branch-name> # 只能刪除已經(jīng)被當(dāng)前分支合并的分支
git branch -D <branch-name> # 強(qiáng)制刪除分支
7. 刪除遠(yuǎn)程分支
git push origin --delete <remote-branch-name>
# 注:<remote-branch-name> 遠(yuǎn)程分支名
六、遠(yuǎn)程倉(cāng)庫(kù)(團(tuán)隊(duì)協(xié)作??)
1. 克隆遠(yuǎn)程倉(cāng)庫(kù)(從遠(yuǎn)程倉(cāng)庫(kù)拉取代碼)
git clone <url>
# 注:<url> 遠(yuǎn)程倉(cāng)庫(kù)的地址
2. 本地庫(kù)與遠(yuǎn)程庫(kù)進(jìn)行關(guān)聯(lián)
git remote add origin <url>
3. 查看遠(yuǎn)程倉(cāng)庫(kù)地址別名
git remote -v
4. 新建遠(yuǎn)程倉(cāng)庫(kù)地址別名
git remote add <alias> <url>
# 注: <alias> 遠(yuǎn)程倉(cāng)庫(kù)的別名
5. 刪除本地倉(cāng)庫(kù)中的遠(yuǎn)程倉(cāng)庫(kù)別名
git remote rm <alias>
# 注: <alias> 遠(yuǎn)程倉(cāng)庫(kù)的別名
6. 重命名遠(yuǎn)程倉(cāng)庫(kù)地址別名
git remote rename <old-alias> <new-alias>
# 注:<old-alias> 舊的遠(yuǎn)程倉(cāng)庫(kù),<new-alias> 新的遠(yuǎn)程倉(cāng)庫(kù)
7. 把遠(yuǎn)程庫(kù)的修改拉取到本地
git fetch <alias/url> <remote-branch-name> # 抓取遠(yuǎn)程倉(cāng)庫(kù)的指定分支到本地,但沒(méi)有合并
git merge <alias-branch-name> # 將抓取下來(lái)的遠(yuǎn)程的分支,跟當(dāng)前所在分支進(jìn)行合并
git pull <alias/url> <remote-branch-name> # 拉取到本地,并且與當(dāng)前所在的分支進(jìn)行合并
# 注: <alias/url> 遠(yuǎn)程倉(cāng)庫(kù)的別名 或者是 遠(yuǎn)程倉(cāng)庫(kù)地址
# <remote-branch-name> 遠(yuǎn)程分支名
8. 將本地的分支推送到遠(yuǎn)程倉(cāng)庫(kù)
?? 在推送前要先拉取哦 git pull
git push <alias/url> <branch-name> # 將本地的每個(gè)分支推送到遠(yuǎn)程倉(cāng)庫(kù)
git push <alias/url> --force # 強(qiáng)行推送 當(dāng)前分支到遠(yuǎn)程倉(cāng)庫(kù),即使有沖突
git push <alias/url> --all # 推送所有本地分支到遠(yuǎn)程倉(cāng)庫(kù)
# 注: <alias/url> 遠(yuǎn)程倉(cāng)庫(kù)的別名 或者是 遠(yuǎn)程倉(cāng)庫(kù)地址
# <branch-name> 本地分支名
到這,我們?cè)诠ぷ髦谐S玫拿钜不静畈欢嗔?,如有不足之處,歡迎各位指正!
少年!加油!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-625630.html
最后,各位不要忘記一鍵三連哦~~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-625630.html
到了這里,關(guān)于Git 命令大全「全面且實(shí)用,值得收藏」的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!