三板斧及其他:
git init:初始化git倉庫
git add .? :將所在文件夾中的所有文件加入到暫存區
git commit -m '自定義記錄信息'? :將暫存區中的數據放到Git的倉庫(本地)中,并進行記錄(自定義)
?????????git-log? ?:由自己配置出來將復雜的查看Git記錄的消息歸結為此的命令
在開始Git的操作前,需要去想Git聲明自己是誰:
git config --global user.email?"At@qq.com"
git config --global user.name "At"
以下為Git的基本工作原理:
查看當前數據的狀態: git status
版本回退:?git reset --hard commitID
查看之前所有的commitID號:?git reflog
?.gitignore 文件來進行過濾不需要的文件:
????????????????基本的格式:
# 不跟蹤 .a 文件
*.a
# 但特別跟蹤 lib.a,盡管上面忽略了所有 .a 文件
!lib.a
# 僅忽略當前目錄下的 TODO 文件,不忽略子目錄中的 TODO
/TODO
# 忽略 build/ 目錄下的所有文件
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目錄及其子目錄中的所有 .pdf 文件
doc/**/*.pdf
分支:
? ?以Head標識的為現主支
查看本地分支 命令:git branch
創建本地分支 命令:git branch 分支名
切換分支(checkout) 命令:git checkout 分支名
????????我們還可以直接切換到一個不存在的分支(創建并切換) 命令:git checkout -b 分支名
合并分支(merge) 一個分支上的提交可以合并到另一個分支 命令:git merge 分支名稱
刪除分支 不能刪除當前分支,只能刪除其他分支 git branch -d b1 刪除分支時,需要做各種檢查 git branch -D b1 強制刪除
解決問題:
? ? 當不同的用戶修改到同一行的數據時,合并或者commit時會出現沖突,即:
????????所以需要手動進行修改,確定出最終的答案再重新上傳即可。
遠程上傳:
????????Git的總原理:
在跟遠程的倉庫連接時,需要某種的東西來達成安全的傳輸,這里我們使用SSH密鑰來:
配置SSH公鑰
生成SSH公鑰 ssh-keygen -t rsa
設置賬戶共公鑰 獲取公鑰 cat ~/.ssh/id_rsa.pub
驗證是否配置成功 ssh -T git@gitee.com
添加遠程倉庫:git remote add <遠程名稱(默認origin)> <倉庫位置(URL)>
? ? ? ? ?git remote add origin git@gitee.com:czbk_zhang_meng/git_test.git
查看遠程倉庫信息:git remote
推送遠程倉庫前,需要訪問本地倉庫是否有貨,無貨會報錯,需注意
推送到遠程倉庫:git push [-f] [--set-upstream] [遠端名稱 [本地分支名][:遠端分支名] ]
????????git push --set-upstream origin master:一s般使用此,這樣可以使本地與遠端進行連接,后續可以直接操作,不需要每一個操作中加遠程名稱;
查看關聯關系:???????????????? git branch -vv
如果已經有一個遠端倉庫,我們可以直接clone到本地。
命令: git clone [本地目錄] 本地目錄可以省略,會自動生成一個目錄
從遠程倉庫中抓取和拉取 遠程分支和本地的分支一樣,我們可以進行merge操作,只是需要先把遠端倉庫里的更新都下載到本地,再進行操作。
抓取 命令:git fetch [remote name] [branch name] 抓取指令就是將倉庫里的更新都抓取到本地,不會進行合并.如果不指定遠端名稱和分支名,則抓取所有分支。
拉取 命令:git pull [remote name] [branch name] 拉取指令就是將遠端倉庫的修改拉到本地并自動進行合并,等同于fetch+merge 如果不指定遠端名稱和分支名,則抓取所有并更新當前分支。常用。
解決沖突:
在一段時間,A、B用戶修改了同一個文件,且修改了同一行位置的代碼,此時會發生合并沖突。 A用戶在本地修改代碼后優先推送到遠程倉庫,此時B用戶在本地修訂代碼,提交到本地倉庫后,也需要 推送到遠程倉庫,此時B用戶晚于A用戶,故需要先拉取遠程倉庫的提交,經過合并后才能推送到遠端分支
v studio上的Git:
? 即需根據對應的按鈕進行操作即可,注意在連接遠程的倉庫中,我們使用的http的路徑和使用gitee里面的個人密令進行安全連接,隨后推送即可