Git在Idea中使用的簡單瞭解
前言-
版本控制
git與svn區別
git歷史
略,如有需要,去b站搜尋“遇見狂神說”的git教程觀看
https://www.bilibili.com/video/BV1FE411P7B3?p=1
Git下載
開啟 [git官網] https://git-scm.com/,下載git對應作業系統的版本。
所有東西下載慢的話就可以去找映象!
官網下載太慢,我們可以使用淘寶映象下載:http://npm.taobao.org/mirrors/git-for-windows/
我這裡只介紹淘寶映象的方式,因為官方的太慢了
下載對應的版本即可安裝!
注意我是windows系統就下載exe檔案,tar檔案是linux系統的
如果有git先解除安裝
直接反安裝即可,去環境變數中檢視是否有git環境變數,清除即可,最後去控制面板刪除git應用即可。
git安裝
安裝:無腦下一步即可!安裝完畢就可以使用了!
這一步是選擇電腦裡的編輯器,這裡選擇自己安裝對應的即可。 比如我下載了Notepad++ 就選擇它。
安裝成功之後,環境變數中path會自動新增變數
啟動git
安裝成功後在開始選單中會有Git項,選單下有3個程式:任意資料夾下右鍵也可以看到對應的程式!
Git Bash:Unix與Linux風格的命令列,使用最多,推薦最多
Git CMD:Windows風格的命令列
Git GUI:圖形介面的Git,不建議初學者使用,儘量先熟悉常用命令
常用的Linux命令
平時一定要多使用這些基礎的命令!
1)cd
: 改變目錄。
2)cd
. . 回退到上一個目錄,直接cd進入預設目錄
3)pwd
: 顯示當前所在的目錄路徑。
4)ls(ll)
: 都是列出當前目錄中的所有檔案,只不過ll(兩個ll)列出的內容更為詳細。
5)touch
: 新建一個檔案 如 touch index.js 就會在當前目錄下新建一個index.js檔案。
6)rm
: 刪除一個檔案, rm index.js 就會把index.js檔案刪除。
7)mkdir
: 新建一個目錄,就是新建一個資料夾。
8)rm -r
: 刪除一個資料夾, rm -r src 刪除src目錄
rm -rf / 切勿在Linux中嘗試!刪除電腦中全部檔案!
9)mv
移動檔案, mv index.html src; index.html 是我們要移動的檔案, src 是目標資料夾,當然, 這樣寫,必須保證檔案和目標資料夾在同一目錄下。
10)reset
重新初始化終端/清屏。
11)clear
清屏。
12)history
檢視命令歷史。
13)help
幫助。
14)exit
退出。
15)#
表示註釋
Git配置
所有的配置檔案,其實都儲存在本地!
檢視配置 git config -l
檢視不同級別的配置檔案:
#檢視系統config
git config --system --list
#檢視當前使用者(global)配置
git config --global --list
Git相關的配置檔案
1)、Git\etc\gitconfig :Git 安裝目錄下的 gitconfig --system 系統級
2)、C:\Users\Administrator\ .gitconfig 只適用於當前登入使用者的配置 --global 全域性 注意這裡最開始是沒有的,要配置了才有這個檔案,配置如下4.2
這裡可以直接編輯配置檔案,通過命令設定後會響應到這裡。
設定使用者名稱與郵箱(使用者標識,必要)
當你安裝Git後首先要做的事情是設定你的使用者名稱稱和e-mail地址。這是非常重要的,因為每次Git提交都會使用該資訊。它被永遠的嵌入到了你的提交中:
git config --global user.name "xxxx" #名稱
git config --global user.email "[email protected]" #郵箱
只需要做一次這個設定,如果你傳遞了--global 選項,因為Git將總是會使用該資訊來處理你在系統中所做的一切操作。如果你希望在一個特定的專案中使用不同的名稱或e-mail地址,你可以在該專案中執行該命令而不要--global選項。總之--global為全域性配置,不加為某個專案的特定配置。
然後再檢視:
Git基本理論(重要)
工作區域
Git本地有三個工作區域:工作目錄(Working Directory)、暫存區(Stage/Index)、資源庫(Repository或Git Directory)。如果在加上遠端的git倉庫(Remote Directory)就可以分為四個工作區域。檔案在這四個區域之間的轉換關係如下:
- Workspace:工作區,就是你平時存放專案程式碼的地方
- Index / Stage:暫存區,用於臨時存放你的改動,事實上它只是一個檔案,儲存即將提交到檔案列表資訊
- Repository:倉庫區(或本地倉庫),就是安全存放資料的位置,這裡面有你提交到所有版本的資料。其中HEAD指向最新放入倉庫的版本
- Remote:遠端倉庫,託管程式碼的伺服器,可以簡單的認為是你專案組中的一臺電腦用於遠端資料交換
本地的三個區域確切的說應該是git倉庫中HEAD指向的版本:
- Directory:使用Git管理的一個目錄,也就是一個倉庫,包含我們的工作空間和Git的管理空間。
- WorkSpace:需要通過Git進行版本控制的目錄和檔案,這些目錄和檔案組成了工作空間。
- .git:存放Git管理資訊的目錄,初始化倉庫的時候自動建立。 【是隱藏的】
- Index/Stage:暫存區,或者叫待提交更新區,在提交進入repo之前,我們可以把所有的更新放在暫存區。
- Local Repo:本地倉庫,一個存放在本地的版本庫;HEAD會只是當前的開發分支(branch)。
- Stash:隱藏,是一個工作狀態儲存棧,用於儲存/恢復WorkSpace中的臨時狀態。
工作流程
git的工作流程一般是這樣的:
1、在工作目錄中新增、修改檔案;
2、將需要進行版本管理的檔案放入暫存區域;
3、將暫存區域的檔案提交到git倉庫。
因此,git管理的檔案有三種狀態:已修改(modified),已暫存(staged),已提交(committed)
Git專案搭建
建立工作目錄與常用指令
工作目錄(WorkSpace)一般就是你希望Git幫助你管理的資料夾,可以是你專案的目錄,也可以是一個空目錄,建議不要有中文。
日常使用只要記住下圖6個命令
本地倉庫搭建
建立本地倉庫的方法有兩種:一種是建立全新的倉庫,另一種是克隆遠端倉庫。
1、建立全新的倉庫,需要用GIT管理的專案的根目錄執行:
# 在當前目錄新建一個Git程式碼庫
$ git init
git init
2、執行後可以看到,僅僅在專案目錄多出了一個.git目錄,關於版本等的所有資訊都在這個目錄裡面。 (注意這裡的.git一般是隱藏了的,需要我們開啟隱藏檔案)
克隆遠端倉庫
1、另一種方式是克隆遠端目錄,由於是將遠端伺服器上的倉庫完全映象一份至本地!
# 克隆一個專案和它的整個程式碼歷史(版本資訊)
$ git clone [url] #https://gitee.com/kuangstudy/openclass.git
$ git clone url
2、去 gitee 或者 github 上克隆一個測試!
Git檔案操作
Git檔案操作
檔案的四種狀態
版本控制就是對檔案的版本控制,要對檔案進行修改、提交等操作,首先要知道檔案當前在什麼狀態,不然可能會提交了現在還不想提交的檔案,或者要提交的檔案沒提交上。
- Untracked: 未跟蹤, 此檔案在資料夾中, 但並沒有加入到git庫, 不參與版本控制. 通過
git add
狀態變為Staged
. - Unmodify: 檔案已經入庫, 未修改, 即版本庫中的檔案快照內容與資料夾中完全一致. 這種型別的檔案有兩種去處, 如果它被修改, 而變為
Modified
. 如果使用git rm
移出版本庫, 則成為Untracked
檔案 - Modified: 檔案已修改, 僅僅是修改, 並沒有進行其他的操作. 這個檔案也有兩個去處, 通過
git add
可進入暫存staged
狀態, 使用git checkout
則丟棄修改過, 返回到unmodify
狀態, 這個git checkout
即從庫中取出檔案, 覆蓋當前修改 ! - Staged: 暫存狀態. 執行
git commit
則將修改同步到庫中, 這時庫中的檔案和本地檔案又變為一致, 檔案為Unmodify
狀態. 執行git reset HEAD filename
取消暫存, 檔案狀態為Modified
檢視檔案狀態
上面說檔案有4種狀態,通過如下命令可以檢視到檔案的狀態:
#檢視指定檔案狀態
git status [filename]
#檢視所有檔案狀態
git status
# git add . 新增所有檔案到暫存區
# git commit -m "訊息內容" 提交暫存區中的內容到本地倉庫 -m 提交資訊
忽略檔案(.gitignore)
有些時候我們不想把某些檔案納入版本控制中,比如資料庫檔案,臨時檔案,設計檔案等
在主目錄下建立".gitignore"檔案,此檔案有如下規則:
- 忽略檔案中的空行或以井號(#)開始的行將會被忽略。
- 可以使用Linux萬用字元。例如:星號(*)代表任意多個字元,問號(?)代表一個字元,方括號([abc])代表可選字元範圍,大括號({string1,string2,...})代表可選的字串等。
- 如果名稱的最前面有一個感嘆號(!),表示例外規則,將不被忽略。
- 如果名稱的最前面是一個路徑分隔符(/),表示要忽略的檔案在此目錄下,而子目錄中的檔案不忽略。
- 如果名稱的最後面是一個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非檔案(預設檔案或目錄都忽略)。
#為註釋
*.txt #忽略所有 .txt結尾的檔案,這樣的話上傳就不會被選中!
!lib.txt #但lib.txt除外
/temp #僅忽略專案根目錄下的TODO檔案,不包括其它目錄temp
build/ #忽略build/目錄下的所有檔案
doc/*.txt #會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
具體配置(參照狂神的):.gitignore
*.class
*.log
*.lock
#Package Files #
*.jar
*.war
*.ear
target/
#idea
.idea/
*.imi
*velocity.log*
### STS ###
.apt_generated
.factorypath
.springBeans
### IntelliJ IDEA ###
*.iml
*.ipr
*.iws
.idea
.classpath
.project
.settings/
bin/
*.log
tmp/
#rebel
*rebel.xml*
使用碼雲
github是國外的網站,有牆的,比較慢,在國內我們一般使用gitee。公司中有時候會搭建自己的gitlab伺服器
這個其實可以作為大家未來找工作的一個重要資訊!
1、註冊登入碼雲,完善個人資訊
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-gKMgTNYp-1631067462040)(https://gitee.com/lijinyu08/image/raw/master/img/image-20210418154827958.png)]
2、設定本機繫結SSH公鑰,實現免密碼登入!(免密碼登入,這一步挺重要的,碼雲是遠端倉庫,我們是平時工作在本地倉庫!)
# 進入 C:\Users\Administrator\.ssh 目錄
# 生成公鑰
ssh-keygen -t rsa
如果改目錄下沒.ssh檔案,就手動建立一個。然後在bash下輸入生成公鑰的命令 ssh-keygen -t rsa
。
然後在.ssh檔案下就有
3、將公鑰資訊public key 新增到碼雲賬戶中即可!
把ras.pub裡面的內容複製到
就會自動生成標題,如果不自動生成標題,那麼自己加個 這裡我是自己加的。如下:
4、使用碼雲建立一個自己的倉庫!
許可證:開源是否可以隨意轉載,開源但是不能商業使用,不能轉載,等等限制! 一般我們就用GPL2.0 /3.0
克隆到本地!
命令就是 `git clone [複製的url地址]
然後本地就有了
IDEA中整合Git
1、新建專案,繫結git。
-
將我們遠端下載的git檔案目錄拷貝到專案中即可
-
然後去idea重新整理一下(我的版本不用重新整理,它自動刷- 新了。)
2、修改檔案,使用IDEA操作git。
- 新增到暫存區
git add .
-
commit 提交
git commit -m "xxxx"
去git圖示新增
把右邊的√都去掉會快點
- push到遠端倉庫
git push
我這裡會彈出
提交了會報錯喂s別鬧: Incorrect username or password (access token)
解決辦法:
是我們在克隆的時候選擇了https
要選擇SSH
3、提交測試
OK
這些都是單個人的操作!
Git分支
分支在GIT中相對較難,分支就是科幻電影裡面的平行宇宙,如果兩個平行宇宙互不干擾,那對現在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合併了,我們就需要處理一些問題了!
如分支:
Git分支中常用的命令
git分支中常用指令:
# 列出所有本地分支
git branch
# 列出所有遠端分支
git branch -r
# 新建一個分支,但依然停留在當前分支
git branch [branch-name]
# 新建一個分支,並切換到該分支
git checkout -b [branch]
# 合併指定分支到當前分支
$ git merge [branch]
# 刪除分支
$ git branch -d [branch-name]
# 刪除遠端分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
如果想繼續深入的學習git,可以去gitee官方的最下方
繼續學習。