前端所有的git使用場景和命令都在這里啦,持續更新~~~
安裝 git
要檢查是否安裝了Git,在cmd終端運行:
$ git version
git version 2.27.0.rc1.windows.1
配置 git
我們只需要配置一些東西
git config --global user.name "前端xx" # 你的名字
git config --global user.email xx@qq.com # 你的郵箱
name和email對應上就設置好了
提交到github 電腦git要登github賬號; 提交到gitlab 電腦git要登gitlab賬號
自己上傳新項目代碼到倉庫
git創建倉庫,并提交代碼(第一次創建并提交)
git init //把這個目錄變成Git可以管理的倉庫
git add README.md // 文件添加到倉庫
// 不但可以跟單一文件,還可以跟通配符,更可以跟目錄。
git add . // 一個點就把當前目錄下所有未追蹤的文件全部add了
git commit -m "first commit" //把文件提交到倉庫
git remote add origin url.git // 關聯遠程倉庫 https方式
// 例如:git remote add origin git@github.xxx/practice.git
git push -u origin master //把本地庫的所有內容推送到遠程庫上
第一次提交本地倉庫到遠程,使用密鑰SSH的方式
在git倉庫-個人中心的密鑰設置中,填入自己電腦的密鑰
git init
git add . // 全部文件提交到暫存區,后續改動可以追蹤文件的變化
git commit -m "first commit" // 提交到本地倉庫
git remote add origin SSH地址 // 關聯遠程倉庫 SSH方式
git push -u origin master // 將本地庫推送到遠程
從倉庫克隆新項目代碼到本地
git clone github.xxx/practice.git
git clone代碼之后 遠程分支有很多,怎么把遠程分支弄下來
git fetch
git checkout -b feature origin/feature // 把feature弄下來 本地feature對應遠程feature
遠程別人新建了分支,本地怎么切換分支
git fetch
git checkout -b feature origin/feature
從遠程倉庫中拉一個本地不存在的分支:
git checkout -b 本地分支名 origin/遠程分支名
該命令會創建一個本地分支并,并與遠程分支關聯,并自動切換到這個本地分支。
別人新建的分支,你看不到,想要拉到本地來
別人新建了分支branch2
git branch -a // 查看所有分支:本地分支和遠程分支
git fetch origin branch2 // 把遠程的branch2抓下來 這個抓下來只是能看到分支
git branch -a // 此時就能看到branch2
git checkout -b branch2 origin/branch2 // 把遠程的branch2代碼搞下來
相關的還有以下命令
1. 刷新遠程分支的命令行:git remote update origin -p
2. 抓取遠程分支,需要切換:git fetch origin branch_name
3. 本地分支與遠程分支相關聯,便于git pull, git push ,
使用 git branch --set-upstream-to=origin/<branch>
關于分支
查看遠程分支: git branch -a
查看本地分支:git branch
創建分支:git branch <name> // <name>是分支名
切換分支:git checkout <name>
創建+切換分支:git checkout -b <name>
合并某分支到當前分支:git merge <name> // 把其他分支合并到master后,還要git push
刪除本地分支:git branch -d <name>
image.png
新建分支, 你創建一個新分支并提交
git branch -a // 查看所有分支:本地分支和遠程分支
git branch 新分支
git checkout 新分支 // 切換到新分支上
git branch -a // 查看新分支是否建成功
git push --set-upstream origin 新分支 // 把新分支提交到代碼庫 別人也能看見
你創建一個新分支,指定推送到遠程某分支
git branch -b task // 新建task分支 并切換到task分支
// ......代碼開發完成后,此時我在task分支
// 依舊要先git add . 和 git commit -m "這里寫提交的是什么內容"
git push origin task // 將所在的分支指定推送到task
git push origin major // 將所在的分支指定推送到major
// .......又做了一些開發
git push origin task // 將所在的分支指定推送到task
// 這樣每次提交都要把分支帶上 因為本地的task沒又和遠程的task關聯上
git branch --set-upstream-to=origin/<taskBranch> // 將本地分支與taskBranch關聯上
// 關聯后就可以直接git push了
// 推薦第一次提交新創建的分支,用 git push --set-upstream origin 新分支 這種方式,第一次就關聯上了
刪除分支
刪除本地分支 git branch -d dev
刪除遠程分支 git push origin --delete branch, 該指令也會刪除追蹤分支
修改分支名字
- 本地分支重命名(還沒有推送到遠程)
git branch -m oldName newName
- 遠程分支重命名 (已經推送遠程-假設本地分支和遠程對應分支名稱相同)
第1步: 重命名遠程分支對應的本地分支
git branch -m oldName newName
第2步:刪除遠程分支
git push --delete origin oldName
第3步:上傳新命名的本地分支
git push origin newName
第4步:把修改后的本地分支與遠程分支關聯
git branch --set-upstream-to origin/newName
合并分支
git merge <name> // 合并某分支到當前分支
git push // 把合并后的內容整個分支一起提交
// 例如: 把其他分支合并到master后,還要git push
關于撤銷操作
git add的撤銷:git reset
git commit的撤銷:git commit --amend 撤銷提交到本地版本庫
git push的撤銷: git reset --soft HEAD~1
git merge取消合并: git merge --abort
git 合并未提交,撤銷合并:
git reset --hard HEAD~1
git 合并已提交,撤銷合并:
git reset --soft:
將分支回退到指定提交,工作區維持現狀不變,暫存區會在現有基礎上增加該commit之后的提交。
git reset --mixed:
(默認操作)將分支回退到指定提交,暫存區也被同步為該指定提交,工作區保持不變。
git reset --hard:
將分支回退到指定分支,暫存區和工作區都會被同步為該指定的提交。
git提交前報eslint錯誤 提交忽略eslint
git commit --no-verify -m "提交時的注釋"
追加修改到最后一次commit
適用對最后一次提交失誤的地方進行修改,提交后而不產生新的commit記錄
追加修改到最后一次commit
第一步:修改文件 然后git add指定的文件 (注意對文件只需要add不需要commit)
第二步:git commit --amend
第三步:輸入 r
第四步:輸入 :wq 回車
第五步:推送到遠程: git push --force
修改上一次提交的備注信息
第一步:git commit --amend
第二步:輸入 e
第三步:修改提交的備注信息
第四步:按esc鍵
第五步:輸入 :wq 回車
第六步:推送到遠程: git push --force
git 合并遠程倉庫上多個提交記錄
- 將最后兩次提交記錄去掉,最后兩次的提交內容歸到倒數第三次提交上
第一步:git reset --soft HEAD~2
第二步:git commit --amend
第三步:按esc鍵
第四步:輸入 :q 回車
第五步:推送到遠程: git push --force
- 將最后兩次提交記錄,歸結到一次新的提交記錄上
第一步:git reset --soft HEAD~2
第二步:git commit -m "這次提交包含了之前最后兩次的內容"
第三步:推送到遠程: git push --force
vscode裝的好用的git插件:
git graph
git history
git lens
電腦配置多個git賬號
控制面板\所有控制面板項\憑據管理器
持續更新中.....