不會(huì)用Git的開(kāi)發(fā)人員,絕對(duì)沒(méi)有真正的寫(xiě)過(guò)代碼
Git基本概念
Git 是一個(gè)分布式版本控制軟件.用來(lái)再軟件開(kāi)發(fā)時(shí),管理代碼的版本
第一次使用Git
第一次使用Git時(shí)候,需要配置好自己的用戶名和郵箱,這是在每一次提交的時(shí)候都要使用的信息.
# github或者gitlab用到的用戶名和郵箱
$ git config --global user.name "John Doe"
$ git config --global user.email "johndoe@example.com"
# 查看基本配置
git config --list
ssh連接和https連接.
ssh 連接和https連接的區(qū)別.
使用https連接,每次都要輸入用戶名和密碼,而且那個(gè)用戶名和密碼好像有點(diǎn)BUG,都得輸入兩次才能對(duì).很離譜
如何配置ssh連接github 賬戶
# 生成秘鑰
ssh-keygen -t rsa -C "johndoe@example.com" # ~/.ssh目錄下面會(huì)有id_rsa和id_rsa.pub兩個(gè)文件
cat id_rsa.pub # 把這個(gè)里面的內(nèi)容復(fù)制
復(fù)制上面的內(nèi)容之后,打開(kāi)你的github,進(jìn)入配置頁(yè):Settings – SSH and GPG keys花椭,添加本地生成的ssh秘鑰厂财,選擇New SSH key(這里已經(jīng)配置了一個(gè)key蹂季,如果是未配置秘鑰的用戶齐帚,這里是空的)庐冯,把復(fù)制的內(nèi)容貼過(guò)來(lái),然后保存:
#測(cè)試是否配置成功sfd
用ssh鏈接git:ssh -T git@github.com
Git的常規(guī)操作
# 克隆項(xiàng)目下來(lái)
git clone git@github.com:zhongqiangwu960812/AI-RecommenderSystem.git
# 如果新改了某個(gè)文件慧妄,需要同步到遠(yuǎn)程
# 如果是新增了某個(gè)文件顷牌,可以直接
git add 文件名
git status # 可以查看修改情況
git commit -m '新加文件' # 提交說(shuō)明
git push # 提交
# 這樣,就搞定了
# 如果是刪除了某個(gè)或者修改了很多地方等塞淹,可以
git add .
git commit -m 'update many'
git push
# 如果是從遠(yuǎn)程倉(cāng)庫(kù)改了文件窟蓝,需要先拉到本地,讓本地和遠(yuǎn)程保持一致之后再push
git pull
分支
分支的概念
分支就是科幻電影里面的平行宇宙饱普,當(dāng)你正在電腦前努力學(xué)習(xí)Git的時(shí)候运挫,另一個(gè)你正在另一個(gè)平行宇宙里努力學(xué)習(xí)SVN。
如果兩個(gè)平行宇宙互不干擾套耕,那對(duì)現(xiàn)在的你也沒(méi)啥影響谁帕。不過(guò),在某個(gè)時(shí)間點(diǎn)冯袍,兩個(gè)平行宇宙合并了匈挖,結(jié)果,你既學(xué)會(huì)了Git又學(xué)會(huì)了SVN康愤!
分支的基本操作.
# 創(chuàng)建分支
git branch name //創(chuàng)建名為name的分支
#切換分支
git checkout name //這個(gè)是什么意思? 切換名字到為name的分支
# 上面兩行可以改成一行
git checkout -b name
#切換分支還可以用,建議用這個(gè),上面那個(gè)容易引起誤解
git switch -c dev // 創(chuàng)建名為dev的分支,并切換到該分支
git switch dev //切換到已有的dev分支.
# 修改完了代碼儡循,需要push到遠(yuǎn)程分支上,可以下面操作
git push --set-upstream origin 分支名
# 查看分支
git branch # 本地分支
git branch -r # 遠(yuǎn)程分支
git brance -a # 查看所有分支
#合并分支
git merge dev //比如說(shuō)當(dāng)前所在分支為main,然后我使用這個(gè)命令,就會(huì)將dev和main合并到一起.
#刪除分支
git branch -d name #刪除分支,這個(gè)一般在當(dāng)前分支開(kāi)發(fā)完成,merge之后使用..
注意:在新建的分支上面做了更改之后,需要commit之后,才能看到兩個(gè)的區(qū)別,不然,就會(huì)發(fā)現(xiàn),兩個(gè)分支的東西是一樣的了.
也就是下面這個(gè)問(wèn)題.
[圖片上傳失敗...(image-a3f25a-1628507521785)]
操作遠(yuǎn)程庫(kù)的基本流程
假設(shè)什么也沒(méi)有,那就從第1步開(kāi)始最后.
假設(shè)已經(jīng)有了本地庫(kù),那就從第二步開(kāi)始.(不過(guò)好像還是得新建一個(gè).因?yàn)椴荒?和別的亂七八糟的庫(kù)關(guān)聯(lián)啊...)
1. 先在Github新建一個(gè)倉(cāng)庫(kù)
2. clone 下來(lái)之后,創(chuàng)建兩者之間的關(guān)聯(lián).
git remote add origin git@github.com:username/responame.git //這里要使用ssh地址,而不是https地址了.因?yàn)槟闶褂昧藄sh連接.
如果發(fā)現(xiàn)關(guān)聯(lián)錯(cuò)誤,需要解除遠(yuǎn)程關(guān)聯(lián)
3. push到遠(yuǎn)程倉(cāng)庫(kù)
在本地的分支進(jìn)行了提交之后,就可以push到遠(yuǎn)程倉(cāng)庫(kù)了.
git push -u origin main //第一次push
git push origin main //后面的push
附:解除和遠(yuǎn)程庫(kù)的關(guān)聯(lián)
如果添加的時(shí)候地址寫(xiě)錯(cuò)了征冷,或者就是想刪除遠(yuǎn)程庫(kù)择膝,可以用git remote rm <name>命令。使用前检激,建議先用git remote -v查看遠(yuǎn)程庫(kù)信息:
$ git remote -v
origin git@github.com:michaelliao/learn-git.git (fetch)
origin git@github.com:michaelliao/learn-git.git (push)
然后肴捉,根據(jù)名字刪除,比如刪除origin:
$ git remote rm origin
此處的“刪除”其實(shí)是解除了本地和遠(yuǎn)程的綁定關(guān)系
呵扛,并不是物理上刪除了遠(yuǎn)程庫(kù)
每庆。遠(yuǎn)程庫(kù)本身并沒(méi)有任何改動(dòng)。要真正刪除遠(yuǎn)程庫(kù)今穿,需要登錄到GitHub缤灵,在后臺(tái)頁(yè)面找到刪除按鈕再刪除。
obsidian 的Git插件
用處
obsidian 的Git插件,可以讓用戶使用Github來(lái)對(duì)自己的obsidian筆記庫(kù)進(jìn)行備份.
理解
obsidian 的git插件,實(shí)際上只是對(duì)系統(tǒng)的GIT做了一些調(diào)用而已.真正起作用的是系統(tǒng)的Git軟件
.
因而,在使用obsidian-git插件之前,你需要先對(duì)vault做一些設(shè)置.比如把它初始化成Git 倉(cāng)庫(kù),添加遠(yuǎn)程倉(cāng)庫(kù)等等..
然后就可以使用obsidian的命令,來(lái)對(duì)其進(jìn)行pull push等一系列的git操作了.