Git常見用法大全

git筆記
git是一個免費、開源的分布式版本控制工具,可快速、高效的處理從小到大各種項目。且簡單易學、有廉價的本地庫、方便的暫存區(qū)和多分支等特性。
git概述
git官網(wǎng):https://git-scm.com/
--everything-is-local
--fast-version-control
--distributed-even-if-your-workflow-isnt
版本控制系統(tǒng):記錄文件內(nèi)容變化,以便查閱或修改特定版本的系統(tǒng)
git工作機制
遠程庫 歷史版本 -> 本地庫 -> git push 遠程庫
臨時存儲 -> 暫存區(qū) -> git commit 本地庫
寫代碼 -> 工作區(qū) -> git add 暫存區(qū)
git init 初始化本地庫
代碼托管中心
基于網(wǎng)絡服務的遠程代碼倉庫,即:遠程庫
局域網(wǎng):GitLab
互聯(lián)網(wǎng):GitHub(外網(wǎng))、Gitee(內(nèi)網(wǎng))
git的本地使用
設置用戶簽名
簽名作用:區(qū)分不同操作者,查看本次提交是誰做的。
命令 |?作用
git config --global user.name 用戶名 |?設置用戶簽名
git config --global user.email 郵箱地址 |?設置用戶郵箱
git config --list |?查看配置列表
git基本操作
命令 |?作用
git init |?初始化本地庫
git status |?查看本地庫狀態(tài)
git add 文件名 |?添加暫存區(qū)
git rm --cached 文件名 |?從暫存區(qū)刪除文件
git commit -m "日志信息" 文件名?|?提交本地庫
git reflog |?查看歷史記錄
git log |?查看詳細歷史記錄
git reset --hard 版本號 |?版本穿梭
初始化本地庫 git init
查看本地庫狀態(tài) git status
添加暫存區(qū) git add 文件名
提交本地庫 git commit -m "日志信息" 文件名
查看歷史記錄 git reflog-查看已經(jīng)提交的歷史版本
版本穿梭-回到以前的版本 gitreset --hard 版本號
git分支基本操作
在版本控制中,同時推進多個任務,為每個任務創(chuàng)建獨立的分支,從主線分支分離出去,每個分支不會影響主線分支。(分支的底層為指針的引用)
命令?|?作用
git branch 分支名 |?創(chuàng)建分支
git branch -v |?查看分支
git checkout 分支名 |?切換分支
git merge 分支名 |?合并指定分支
創(chuàng)建分支 git branch 分支名
查看分支 git branch -v
切換分支 git checkout 分支名
合并分支-將指定分支合并到當前分支(被合并的分支并不會消失) git merge 分支名
代碼沖突和沖突合并
代碼沖突,兩個分支在同一個文件同一個位置有兩套完全不同的修改,git無法決定,必須人為決定合并后內(nèi)容。
合并方法:
手動打開文件認為修改
將修改后的文件添加暫存區(qū)
提交本地庫(此時提交不能帶文件名)(被合并的分支不會被修改)
其他操作
git 刪除遠程庫文件
git rm -r --cached [file] #執(zhí)行刪除操作
git commit -m "信息" #將刪除操作提交
git push 地址 分支 #推送遠程庫
團隊協(xié)作
團隊內(nèi)協(xié)作&跨團隊協(xié)作
命令 |?作用 | 備注
git remote -v |?查看當前所有遠程地址別名
git remote add 別名 遠程地址? |?創(chuàng)建遠程地址別名
git push 別名或地址 分支名 |?推送本地分支到遠程庫
git pull 別名或地址 分支名 |?拉去遠程端文件到本地庫
git clone 地址 |?克隆遠程庫到本地 | 克隆后自動創(chuàng)建別名為origin
GitHub團隊協(xié)作
GitHub:https://github.com/
創(chuàng)建遠程庫,復制遠程庫鏈接
創(chuàng)建遠程庫地址別名 git remote add 別名 遠程地址
推送本地庫到遠程庫 git push 別名或地址 分支名
拉去遠程庫到本地庫 git pull 別名或地址 分支名
克隆遠程庫到本地庫 git clone 遠程庫地址
跨團隊協(xié)作
去代碼倉庫fork一份到自己遠程庫
clone到本地庫,進行修改
push到自己的遠程庫,向?qū)Ψ桨l(fā)起pull request請求
對方審核后merge合并到自己的庫
SSH免密登錄
創(chuàng)建公私鑰
cd ~/.ssh
ssh-keygen -t rsa -C "github登錄郵箱"
輸入你的秘鑰名
輸入你的私鑰密碼 隨便寫
輸入命令的目錄下就會多兩個文件ssh.txt和ssh.txt.pub,其中ssh.txt.pub就是你的公鑰
添加公鑰到github
同時推送到gitee和github
克隆gitee或github的倉庫到本地;
更改根目錄.git/config文件中的[remote "origin"]下的url屬性,分別添加github和gitee的遠程庫地址;
使用git push命令推送即可。
同時推送需保證兩個遠程庫版本一致。