git中文

1,安裝完成后,還需最后一步這是,在命令中輸入

git config –global user.name? “username”

git config –global user.email? “email”

2,打開需要管理的文件夾

git init?

就可以把這個(gè)目錄變成git可以管理的倉庫了,目錄下生成? .git目錄

3,把一個(gè)文件放在git倉庫里面

git add readme.txt

git commit –m “worte a readme file”

4,查看歷史日志

git log

5,返回上一個(gè)版本

git reset --hard HEAD^

6,回到指定的版本

git reset --hard 1094a

7,用來記錄你的每一次命令

git reglog

這樣你就可以穿梭其中的任意的版本了

8,提交后,用以下命令可以查看工作區(qū)和版本庫里面最新版本的區(qū)別

git diff HEAD -- readme.txt

9,文件必須放在暫存區(qū) 才能提交到版本庫里面

10,你可以發(fā)現(xiàn),Git會(huì)告訴你,git checkout -- file可以丟棄工作區(qū)的修改:

git checkout -- readme.txt

11,如果你不想提交的文件在緩存區(qū),可以撤銷到工作區(qū)

git reset HEAD readme.txt

然后在丟棄工作區(qū)的修改

git checkout -- readme.txt

12,刪除文件

rm a.txt

使用? git status 知道你刪除了a.txt

如果你確定刪除a.txt

git rm a.txt

git commit -m "remove a.txt"

這兩行命令

另一種情況是刪錯(cuò)了,因?yàn)榘姹編炖镞€有呢,所以可以很輕松地把誤刪的文件恢復(fù)到最新版本:

git checkout -- test.txt

(只適用還沒有做上面兩行命令)

13,git status 可以查看你做了什么操作

14,管理庫 GitHub

ssh-keygen -t rsa -C "youremail@example.com"

登陸GitHub,打開“Account settings”,“SSH Keys”頁面:

點(diǎn)“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內(nèi)容:

點(diǎn)“Add Key”,你就應(yīng)該看到已經(jīng)添加的Key:

15,上傳文件到github

git remote add origin https://github.com/tianpj/git.git

git push -u origin master

16,現(xiàn)在本地提交就可以使用

git push origin master

17,要關(guān)聯(lián)一個(gè)遠(yuǎn)程庫,使用命令git remote add origin git@server-name:path/repo-name.git;

關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

分布式版本系統(tǒng)的最大好處之一是在本地工作完全不需要考慮遠(yuǎn)程庫的存在,也就是有沒有聯(lián)網(wǎng)都可以正常工作,

而SVN在沒有聯(lián)網(wǎng)的時(shí)候是拒絕干活的!當(dāng)有網(wǎng)絡(luò)的時(shí)候,再把本地提交推送一下就完成了同步,真是太方便了!

18,下載一個(gè)遠(yuǎn)程庫(下載GitHub上的內(nèi)容到本地)

git clone git@github.com:michaelliao/gitskills.git

19,分支管理

查看分支:git branch

創(chuàng)建分支:git branch <name>

切換分支:git checkout <name>

創(chuàng)建+切換分支:git checkout -b <name>

合并某分支到當(dāng)前分支:git merge <name>

刪除分支:git branch -d <name>

20,當(dāng)Git無法自動(dòng)合并分支時(shí),就必須首先解決沖突。解決沖突后,再提交,合并完成。

解決沖突就是把Git合并失敗的文件手動(dòng)編輯為我們希望的內(nèi)容,再提交。

用git log --graph命令可以看到分支合并圖。

21,分支管理策略

Git分支十分強(qiáng)大,在團(tuán)隊(duì)開發(fā)中應(yīng)該充分應(yīng)用。

合并分支時(shí),加上--no-ff參數(shù)就可以用普通模式合并,合并后的歷史有分支,能看出來曾經(jīng)做過合并,

而fast forward合并就看不出來曾經(jīng)做過合并。

git merge --no-ff -m "merge with no-ff" dev

git log(查看歷史合并分支)

22,bug分支管理只使用與在其他分支工作,然后要修復(fù)bug先保存工作區(qū)文件

當(dāng)你接到一個(gè)修復(fù)一個(gè)代號(hào)101的bug的任務(wù)時(shí),很自然地,你想創(chuàng)建一個(gè)分支issue-101來修復(fù)它,

但是,等等,當(dāng)前正在dev上進(jìn)行的工作還沒有提交:

可以把當(dāng)前工作現(xiàn)場“儲(chǔ)藏”起來,等以后恢復(fù)現(xiàn)場后繼續(xù)工作:

(1)保存當(dāng)前分支的工作區(qū)文件? git stash

(2)創(chuàng)建新的分支來修復(fù)bug

確定在那個(gè)分支上修復(fù)就在切換到那個(gè)分支上(例如在master分支上修復(fù)bug)

先切換分支(git checkouot master)

在創(chuàng)建新的分支并切換(git checkouot -b isbug-01)

(3)修復(fù)bug然后提交

git add readme.txt

git commit -m "修復(fù)bug"

(4)修復(fù)完成切換master分支,并合并分支,最后刪除分支

git checkouot master(切換分支)

git merge --no-ff -m "修復(fù)bug" isbug-01 (合并分支)

git branch -d isbug-01 (刪除分支

(5)回到dev分支繼續(xù)工作

git checkouot dev

(但是工作區(qū)那么干凈怎么辦???)

(用git stash list命令看看)

(6)恢復(fù)工作區(qū)的文件

一是用git stash apply恢復(fù),但是恢復(fù)后,stash內(nèi)容并不刪除,你需要用git stash drop來刪除;

另一種方式是用git stash pop,恢復(fù)的同時(shí)把stash內(nèi)容也刪了:

總結(jié):先把工作現(xiàn)場git stash一下,然后去修復(fù)bug,修復(fù)后,再git stash pop,回到工作現(xiàn)場。

23,開發(fā)一個(gè)新feature,最好新建一個(gè)分支;

如果要丟棄一個(gè)沒有被合并過的分支,可以通過git branch -D <name>強(qiáng)行刪除。

如果有用到了請(qǐng)點(diǎn)個(gè)贊


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容