Git 操作
git 教程:https://www.runoob.com/git/git-tutorial.html
基本概念
工作區(qū):克隆項目到本地后,項目所在的文件夾;
暫存區(qū):從工作區(qū)添加上來的變更(新增,修改,刪除)的文件執(zhí)行 git add 命令后,將工作區(qū)的文件添加到暫存區(qū);
本地倉庫:用于存儲本地工作區(qū)和暫存區(qū)提交上來的變更(新增,修改,刪除)文件,即暫存區(qū)的文件執(zhí)行 git commit 操作后,將變更的文件提交到本地倉庫;
遠程倉庫:搭建在服務器上的 git 遠程倉庫,執(zhí)行 git push origin 分支名稱 后,將本地倉庫中的變更推送到遠程倉庫;
基本操作
- 克隆代碼
git clone
- 初始化本地倉庫
git init
- 添加當前文件到暫存區(qū)
git add .
- 本地設置遠程倉庫
git remote add origin [url]
- 拉取代碼
git pull origin 遠程分支名:本地分支名
- 提交到遠程倉庫
git push origin 遠程分支名:本地分支名
- 查看當前分支
git branch
- 查看倉庫狀態(tài),文件變更信息
git status
- 查看歷史提交記錄
git log
- 查看歷史提交記錄,顯示變更的文件信息
git log --stat
- 搜索歷史提交記錄
git log -S [keyword]
- 顯示工作區(qū)和暫存區(qū)的區(qū)別
git diff
git diff HEAD 顯示與最新commit之間的區(qū)別
- 顯示某次提交的詳情
git show [commitId]
版本操作
git resert
- 查看提交歷史
git log
- 回退到上一個版本
git reset --hard
- 回退到指定版本
git reset --hard commitId
git reset 常見的幾種模式
soft:將 head 指向指定的提交,工作區(qū)和暫存區(qū)的內容不會改變
mixed:默認模式,將 head 指向指定的提交,暫存區(qū)的內容隨之改變,而工作區(qū)的內容不會改變
hard:將 head 指向指定的提交,暫存區(qū)和工作區(qū)都會改變
git revert
適用場景:如果想撤銷之前的某一版本,但是又想保留該目標版本后面的其他版本。
- 查看歷史提交
git log
- 撤銷提交
git revert commit_id
revert 是默認提交的,但是 git revert | --no-commit [commit-id],–no-commit 選項不會自動提交需要手動提交
Git 命令 reset 和 revert 的區(qū)別
文件操作
- 添加指定文件到暫存區(qū)
git add [file1] [file2] …
- 添加指定目錄到暫存區(qū),包括子目錄
git add [dir]
- 添加所有文件到暫存區(qū)
git add .
- 刪除工作區(qū)文件,并將這次刪除加入到暫存區(qū)
git rm [file1] [file2]
- 停止追蹤指定文件,該文件會保留在工作區(qū)
git rm --cached [file]
- 文件已經(jīng)添加到暫存區(qū),強制刪除文件
git rm -f [file]
- 刪除整個目錄下的所有子目錄和文件
git rm -r [dir]
分支操作
- 切換分支
git checkout [分支名]
- 合并分支
git merge [分支名]
- 創(chuàng)建并切換分支
git checkout -b [分支名]
- 創(chuàng)建分支
git branch [分支名]
- 刪除分支
git branch -d [分支名]
標簽操作
- 查看標簽
git tag
- 附注標簽
git tag -a [標簽名] -m “標簽信息” [提交ID]
- 指向最新的提交
git tag -a v1.0.0 -m “Release version 1.0.0” HEAD
- 提交標簽
git push origin [標簽名]
- 一次性推送所有標簽
git push origin --tags
- 輕量標簽
git tag [標簽名] [提交ID]
- 創(chuàng)建一個指向最新提交的輕量標簽
git tag v1.0.0
遠程操作
- 將遠程的全部更新拉取到本地
git fetch <遠程主機名>
- 拉取指定分支的更新
git fetch <遠程主機名> <分支名>
- 將遠程主機的某個分支的更新取回,并與本地指定的分支合并
git pull <遠程主機名> <遠程分支名>:<本地分支名>
管理遠程倉庫
- 列出當前倉庫配置的遠程倉庫
git remote
- 列出當前倉庫配置的遠程倉庫,并顯示 URL
git remote -v
- 添加遠程倉庫,指定一個遠程倉庫的名稱和 URL
git remote add <遠程主機名>
- 從當前倉庫中刪除指定的遠程倉庫
git remote remove <遠程主機名>
- 將已配置的遠程倉庫重命名
git remote rename <old_name> <new_name>
- 修改遠程倉庫的 URL
git remote set-url <遠程主機名>
- 顯示遠程倉庫詳細信息,包括 URL 和跟蹤分支
git remote show <遠程主機名>
其他問題
如何刪除多于的 .idea 文件夾
git rm --cache -r .idea
git commit -m "fix:移除.idea";
git push origni master
git fetch 與 git pull 的區(qū)別
git fetch:將遠程主機的最新內容拉到本地,用戶在檢查了以后決定是否合并到工作本地分支中;
git pull:則是將遠程主機的最新內容拉下來后直接合并,相當于 git fetch + git merge,此時可能會產(chǎn)生沖突,需要手動解決;
git 遷移(從gitee遷移到github上)
- 在 github 上創(chuàng)建一個項目
- 把 gitee 上的倉庫下載到本地
git clone https://gitee.com/EzreaLwj/ezreal-chatgpt-data.git
- 移除gitee遠端,不移除也可以,但是不能也叫 origin
git remote remove origin
- 添加 github 遠端
git remote add origin https://github.com/EzreaLwj/ezreal-chatgpt-data.git
- 推送到 github 的 master,如果有多個分支就需要一個一個地推
git push -u origin master
IDEA 解決 git 沖突
當發(fā)生沖突時,會彈出解決沖突的提示框,共有三個按鈕:
accept yours:以你當前的分支為標準;
accept theirs:以他人的分支為標準(合并過來的分支);
merge:手動合并;
點擊手動合并后,會出現(xiàn)三個框,最左邊的框是你本地的分支,最后邊的框是他人的分支(合并過來的分支),中間的框是解決沖突后的最終版本。文章來源:http://www.zghlxwxcb.cn/news/detail-832466.html
每次解決完沖突后,都要點擊啟動項目,看看能不能將項目跑起來。文章來源地址http://www.zghlxwxcb.cn/news/detail-832466.html
到了這里,關于Git 操作以及Git 常見問題的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!