(1)為什么要學(xué)習(xí)git
? 1.工作必備技能
? 2.面試加分項(xiàng)
(2)目錄
1.如何安裝git,使用git
2.對(duì)文件的基礎(chǔ)操作
3.對(duì)分支的基礎(chǔ)操作
4.git與github深度結(jié)合使用
(3)注意事項(xiàng)
1.只講基礎(chǔ)操作必盖,不深究原理
2.只講常見使用場(chǎng)景
(4)獨(dú)自使用git的基本操作命令
1.怎么上傳代碼到github
? 查看git版本: git --version
? .gitignore文件 上傳github時(shí)要忽略的文件
? git init 初始化倉(cāng)庫(kù)
? git add .
? git commit -m "first commit"
? git branch -M main
? git remote add origin “ 遠(yuǎn)程倉(cāng)庫(kù)https”
? git push -u origin main
2.怎么找到所有的操作記錄
? git status 查看當(dāng)前項(xiàng)目的狀態(tài)
? git log 查看所有的提交日志
? git log --author="xxxxx" 查看xxxxx的提交日志
3.配置用戶名和郵箱
? git config --global user.email " xxxx" 設(shè)置提交人郵箱
? git config --global user.name "xxxxx " 設(shè)置提交人姓名
? git config --global --list 查看配置信息
4.怎么修改項(xiàng)目中的文件
? git add 修改后的xxx文件
5.怎么刪除不需要的文件
? git rm xxx文件 刪除文件
6.怎么給文件重命名
? git mv 要被重新命名xxx文件 重新命名后的xxx文件
7.怎么移動(dòng)文件到其他位置
? git mv 要移動(dòng)的xxx文件 移動(dòng)去的xxx文件夾
(5)獨(dú)自使用git的常見問題及解決方案
1.文件有變化時(shí)如何查看文件前后的變化
? 方法1
? git log --pretty=oneline 要查看的文件目錄
? eg: git log --pretty=oneline demo/demo.html
? show:58122e3d778337a77ca3f0a2cdcbbfd2cc6fdd83 (HEAD -> main, origin/main) 移動(dòng)文件去文件夾
? git show (上面生成的id號(hào))58122e3d778337a77ca3f0a2cdcbbfd2cc6fdd83
? 方法2
? git log -p 要查看的文件目錄
? eg:git log -p demo/demo.html
2.操作失誤的情況下如何實(shí)現(xiàn)一鍵還原
? 單個(gè)文件:git diff
git checkout -- 要還原的文件 回到最后一次提交的狀態(tài)
? eg: git checkout -- demo/demo.html
3.不再追蹤時(shí)如何實(shí)現(xiàn)撤銷追蹤操作
? git reset HEAD 要撤銷追蹤的文件
? eg:git reset HEAD demo/demo.html
4.想要回到上一版本或者指定版本
? 方法1
? git reset --hard HEAD^ (1個(gè)^ 代表回退一個(gè)版本,可以有多個(gè) ^)
? 方法2
? git log 查詢要回退的版本id
? git reset --hard 要回退的版本id
5.想要將某一文件回到指定版本
? git log 查詢要回退的版本id
? git checkout 要回退的版本id -- 要還原的文件
? eg:git checkout ce0fd6ebab10b8b370fb71c7b238f715511ca95b -- version.html
6.想要修改內(nèi)容之后推送到遠(yuǎn)程倉(cāng)庫(kù)
? git remote add origin https遠(yuǎn)程倉(cāng)庫(kù)
? git push -u origin main
7.想要給每個(gè)版本創(chuàng)建一個(gè)獨(dú)特標(biāo)簽俱饿,做所有版本標(biāo)簽管理
? git tag 標(biāo)簽名 創(chuàng)建標(biāo)簽 默認(rèn)給最新一次提交加上標(biāo)簽
? git tag 標(biāo)簽名 提交的版本id 給指定的版本id 加上標(biāo)簽
? git tag 查看標(biāo)簽
? git tag -d 標(biāo)簽名 刪除標(biāo)簽
? git push origin 標(biāo)簽名 推送標(biāo)簽去遠(yuǎn)程倉(cāng)庫(kù)
8.想要切換歌粥、刪除分支時(shí)
? git branch 分支名 創(chuàng)建分支
? git branch 查看所有的分支
? git checkout 要切換到的分支名 切換分支
git branch -d 要?jiǎng)h除的分支名 刪除分支:不能刪除當(dāng)前分支
? git branch -D 要?jiǎng)h除的分支名 強(qiáng)制刪除分支
? git checkout -b 分支名 新建一個(gè)分支并切換到這個(gè)分支中
9.想要合并分支時(shí)
? git merge 要合并的分支名 把分支合并到當(dāng)前分支中
10.當(dāng)合并分支有沖突時(shí)如何正確的合并分支
? git merge --abort 直接忽略其他分支的內(nèi)容,保留原內(nèi)容
(6)git多人分支集成協(xié)作時(shí)的常見場(chǎng)景
1.不同人想要查看版本路線
? git log --oneline 簡(jiǎn)看版本信息
? git log --oneline --graph 查看版本路線
2.不同人想要?jiǎng)h除不想要的分支
git fetch 拉起遠(yuǎn)程倉(cāng)庫(kù)
? git branch -av
? git push origin --delete 分支名
3.不同人修改了不同文件
? git fetch 拉起遠(yuǎn)程倉(cāng)庫(kù)
? git branch -av
? git push
4.不同人修改了相同的文件
? git config --add --local user.name "xxxxx"
? git config --add --local user.email "xxxxx"
? git config --add --list
? git branch -av 查看本地分支與遠(yuǎn)程分支的聯(lián)系
? git checkout -b 分支名 遠(yuǎn)程分支名
(7)github拓展
? 谷歌訪問助手
? 谷歌網(wǎng)上應(yīng)用商店
? 插件:
? octotree 用于將 Github 項(xiàng)目代碼以樹形格式展示拍埠,而且在展示的列表中失驶,我們可以下載指定的文件,而不需要下載整個(gè)項(xiàng)目枣购。
? enhanced github 可以顯示倉(cāng)庫(kù)大小嬉探、每個(gè)文件的大小、下載鏈接和復(fù)制文件內(nèi)容的選項(xiàng)
? GitZip for github 是一款實(shí)用的github項(xiàng)目文件夾單獨(dú)下載插件
?