從入門到愛上Git
時間不在於你擁有多少,而在於你怎樣使用——————時之沙 · 艾克
一、Git設置
1.1 Git全局設置
- 當我們安裝好Git以後,我們需要對Git進行帳號、郵箱的設置
- 設置用戶資訊
git config --global user.name "meteor"
git config --global user.email "[email protected]"
- 查看配置資訊
git config --list
1.2 Git獲取倉庫
在本地初始化一個Git倉庫(不常用):
- 在你創建的目錄下執行
git init
,會出現一個隱藏的.git
文件夾
- 可以看到我們初始化一個倉庫以後,出現了master分支,證明我們已經創建成功
從遠程倉庫克隆(常用):
- 直接在我們創建的文件夾下面,使用
git clone //gitee.com/lx-meteor/reggie.git
- 這樣我們就可以從遠程倉庫中,獲取項目。
1.3 Git詳細概念
版本庫:前面看到的.git隱藏文件夾就是版本庫,版本庫中存儲了很多的配置資訊、日誌資訊和文件版本資訊等。
工作區:包含.git文件夾的目錄就是工作區,也稱為工作目錄,主要用於存放我們的項目程式碼。
暫存區:.git文件夾中有很多文件,其中有一個index文件就是暫存區,也可以叫stage。暫存區是一個臨時保存修改文件的地方。
- 這個圖也很好理解,當我們在自己的項目下編碼後(工作區),用
git add
命令,將項目放入到.git文件下的index文件里
(暫存區),然後就用git commit
命令,放到了(版本庫)中。
-
我們可以通過
git status
來查看當前倉庫狀態-
untracked未跟蹤(沒有被Git控制)
-
tracked已跟蹤(已經被Git控制)
- Unmodified未修改狀態
- Modified已修改狀態
- Staged已暫存狀態
-
二、Git常用命令
2.1 本地倉庫
-
git status
:查看文件狀態 -
git add
:將文件的修改加入暫存區 -
git reset
:將暫存區的文件取消或者是切換到指定版本 -
git commit
:將暫存區的文件修改提交到版本庫 -
git log
:查看日誌
-
紅色代表修改了但是沒有放到暫存區
-
綠色代表修改了,並且放到了暫存區
-
通過
git log
查看我們的提交記錄
-
使用
git reset --hard ec8c25a05c4db2dab30ef4ad2d30cfd9b5924dbf
恢復我們曾經提交的文件,時空穿梭!
2.2 遠程倉庫
-
git remote
:查看遠程倉庫 -
git remote add [remote-name] http...
:添加遠程倉庫 -
git clone http...
:從遠程倉庫克隆 -
git pull [remote-name] [branch-name]
:從遠程倉庫拉取 -
git push [remote-name] [branch-name]
:推送到遠程倉庫 -
我們要先提交到本地倉庫,在提交到遠程倉庫
無腦步驟教學:
- git clone + 倉庫鏈接(克隆遠程倉庫項目)
- git add .(將項目添加到暫存區)
- git commit -m “message” *(添加到本地庫)
- git push origin master
- 在我們剛建倉庫的時候,也可能提交會出現bug,因為我們的倉庫中有readme文件,而本地卻沒有。
git push -f origin master
:僅第一次使用。(慎用!🤦♂️)
三、分支與標籤操作
3.1 分支
git branch
:查看分支git branch [name]
:創建分支git checkout
:切換分支git push [shortName] [name]
:推送至遠程倉庫分支git push origin b
git merge [name]
:合併分支
分支的作用就是可以讓我們擁有:
- 多人分塊開發
- 在分支上修改bug,改好後提交到主分支
3.2 標籤
git tag
:列出已有的標籤git tag [name]
:創建標籤git push [shortName] [name]
:將標籤推送到遠程倉庫git push origin v1.0
git checkout -b [branch] [name]
:檢出標籤
標籤的作用就是可以讓我們擁有:
- 部落格1.0版本
- 部落格1.0改版本
- 部落格1.0最終改版本
- 部落格1.0最最終改版本
- 部落格2.0版本🤫
四、idea集成Git
自學吧,idea集成挺簡單的👻
五、結尾
- 對於Git知識內容就總結這麼多,若想深入學習等待後續更新。
- 我將會繼續更新關於Java方向的學習知識,感興趣的小夥伴可以關注一下。
- 文章寫得比較走心,用了很長時間,絕對不是copy過來的!
- 尊重每一位學習知識的人,同時也尊重每一位分享知識的人。
- 😎你的點贊與關注,是我努力前行的無限動力。🤩