Git的常用命令

一,.gitignore文件的配置

在提交代碼的時(shí)候,有些東西比如.idea這類(lèi)本地的文件,是不需要提交到遠(yuǎn)程的,這個(gè)時(shí)候,我們就需要進(jìn)行.gitignore文件的配置

1,在本地克隆倉(cāng)庫(kù)

2,進(jìn)入倉(cāng)庫(kù),創(chuàng)建.gitignore文件:vim .gitignore

3,編輯.gitignore文件

*.aa? ? ? 忽略以.aa結(jié)尾的文件

idea/? ? ?忽略idea文件夾

/ignore? ? ?忽略根目錄下的ignore文件,不代表忽略doc/ignore文件

/doc/*.txt? ? 忽略doc目錄下的任意txt文件,但不包括dir/doc/*.txt

doc/**/*/*.txt? ? ? 忽略doc目錄下任意位置的txt文件

**/dir? ? ?忽略任意文件夾下的dir文件 ,比如 doc/dir,doc/bin/doc ,前面有多少層都行

fiename? ? ? 忽略指定的文件夾

! doc/filename? ? ?不忽略doc下的filename文件(用處:想要忽略除xx.txt外的任意txt,可以配合前面使用)

二,git的配置

1,HTTP方式

1,到github上創(chuàng)建一個(gè)項(xiàng)目

2,下載git并安裝:

命令:sudo apt-get install git

驗(yàn)證是否裝好:git --version

3,在linux系統(tǒng)里新建一個(gè)文件夾:

命令:mkdir xxx

4,切換到該文件夾目錄下

命令:cd xxx

5,克隆倉(cāng)庫(kù):

命令:git clone xxx(地址去github上的項(xiàng)目詳情里面copy)

6,添加本地文件(追蹤)

命令:git add xxx

7,查看狀態(tài)

命令:git status

8,設(shè)置全局變量

命令:git config --global user.email "xxx@163.com" (在github賬戶(hù)設(shè)置的郵箱)

git config --global user.name "xxx"(在github賬戶(hù)設(shè)置的用戶(hù)名)

9,提交文件(提交到本地.git 文件夾下)

命令:git commit -m "提交的內(nèi)容"

10,提交代碼到遠(yuǎn)程倉(cāng)

命令:git push?

這時(shí)候git會(huì)提示輸入用戶(hù)名和密碼,輸入github的用戶(hù)名和密碼就好啦!

2,SSH的方式

這個(gè)方式相比http方式比較簡(jiǎn)潔,設(shè)置以后就不要經(jīng)常輸入用戶(hù)名和密碼了,推薦使用

1,生成ssh key

命令: ssh-keygen -t rsa -C "xxx@xxx.com"

再按兩次回車(chē),就可以生成秘鑰了,頁(yè)面會(huì)有提示具體放在哪兒

2,進(jìn)入目錄,找到秘鑰并復(fù)制秘鑰

命令:

cd ~? 進(jìn)入目錄

pwd 顯示當(dāng)前目錄

cd .ssh/ 進(jìn)入ssh目錄

ls -al? ?顯示所有文件

cat id_rsa.pub? 查看秘鑰

3,復(fù)制秘鑰到gitlab

進(jìn)入gitlab--settings-ssh keys,把秘鑰粘進(jìn)去,并取個(gè)名字,點(diǎn)擊添加

4,克隆倉(cāng)庫(kù)

git clone xxxx.ssh

這里會(huì)要求輸入y/n,輸入y

5,添加本地文件(追蹤)

命令:git add xxx

6,提交文件(提交到本地.git 文件夾下)

命令:git commit -m "提交的內(nèi)容"

7,提交代碼到遠(yuǎn)程倉(cāng)

命令:git push?

三,git常用命令

1,查看操作信息

1),查看提交歷史

git log?

2),顯示最近2次提交的內(nèi)容

git -p -2?

3),將每一種提交都放在一行來(lái)顯示

git log --pretty=oneline

4),查看各個(gè)分支的提交

2,提交代碼

1)git add .? 提交文件

2)git commit - m "xxx"? 描述提交的內(nèi)容

3)git push 推到遠(yuǎn)程倉(cāng)

3,分支

1),創(chuàng)建并切換分支

git checkout -b branchname

2),查看本地分支

git branch

3),查看本地及遠(yuǎn)程分支

git branch -a?

4),切換到master分支

git checkout master

5),只想創(chuàng)建,不想切換分支

git branch a

6),合并代碼到master分支

git checkout master? ? // 切換到master分支

git merge a? ? ?// 把a(bǔ)分支合并到master分支

7),刪除分支

git branch -d a? ? ? //? 刪除a分支(本地)

git branch -D a? ? ?//? 強(qiáng)制刪除a分支(本地)

ps:如果一個(gè)分支已經(jīng)提交遠(yuǎn)程分支,那么就需要?jiǎng)h除本地和遠(yuǎn)程2個(gè)分支

git push origin -d a? ?刪除遠(yuǎn)程分支

4,撤銷(xiāo)文件

1)在添加后撤銷(xiāo)提交

git reset HEAD a.txt?

2)在commit后撤銷(xiāo)提交

1, git? reflog? ?// 查看所有分支的操作記錄

2,git reset --hard xxx

5.版本回退

1,git log? ? // 查看版本

2,回退到指定版本

git reset --hard de21334 (在commit 后面有一串字符,我們?nèi)∏?位就好)

6,沖突解決

如果本地有個(gè)a.txt文件,然后從遠(yuǎn)程拉代碼的時(shí)候,也有a.txt,這樣就會(huì)產(chǎn)生沖突,導(dǎo)致無(wú)法拉取;這個(gè)時(shí)候我們需要用暫存功能先緩存,然后在拉代碼下來(lái),解決沖突,然后再推上去。

這個(gè)時(shí)候,我們就需要用到文件暫存功能

git stash

1,查看暫存區(qū)內(nèi)容

git stash list

2,把代碼從暫存區(qū)拉出來(lái)并刪除暫存區(qū)內(nèi)容

git stash pop

3,從暫存區(qū)恢復(fù)某個(gè)暫存的內(nèi)容(恢復(fù)完后會(huì)合并沖突,接著就需要自行去解決沖突了。)

git stash app xxx

4,清空暫存區(qū)

git stash clear

5,刪除指定緩存

git stash drop xxx

6,查看緩存區(qū)的操作

git stash show

7,查看緩存區(qū)具體操作(增加,減少啥的)

git stash show -p

8,從暫存區(qū)創(chuàng)建分支(會(huì)丟棄緩存區(qū)存的內(nèi)容)

git stash branch branchname

7,差異比對(duì)

1),比較本地工作目錄和暫存區(qū)的差別

git diff filename

2),比較緩存區(qū)和遠(yuǎn)程倉(cāng)的區(qū)別

git diff --cached filename

3),比較本地工作目錄和遠(yuǎn)程倉(cāng)的區(qū)別(查到遠(yuǎn)程的id號(hào),然后再進(jìn)行比對(duì))

git diff commitID filename

比較本地和遠(yuǎn)程的文件的區(qū)別

4),比較2個(gè)遠(yuǎn)程倉(cāng)之間的區(qū)別

git diff commitID1 commitID2

8,標(biāo)簽(版本上線(xiàn)了,需要用標(biāo)簽記錄下)

1),創(chuàng)建一個(gè)標(biāo)簽

git tag -a v1 -m "v1 version online"

2),查看標(biāo)簽

git tag

3),查看某個(gè)版本的標(biāo)簽

git tag -l "v1*"? ? ?//查看v1版本的標(biāo)簽

4),顯示某個(gè)標(biāo)簽的具體內(nèi)容

git show v1

5)推標(biāo)簽到遠(yuǎn)程

git push origin v1? ? // 推v1標(biāo)簽到遠(yuǎn)程

git push origin --tags? ?// 推多個(gè)標(biāo)簽到遠(yuǎn)程

6)刪除標(biāo)簽(本地)

git tag -d v1

刪除遠(yuǎn)程標(biāo)簽

1,在界面刪除

2,通過(guò)命令來(lái)刪除

最后編輯于
?著作權(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),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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