git裡最有用最經常使用的東西
0、最重要的一張圖要記住,對理解git很關鍵
Git本地有三個工作區域:工作目錄(Working Directory)、暫存區(Stage/Index)、資源庫(Repository或Git Directory)。如果在加上遠端的git倉庫(Remote Directory)就可以分為四個工作區域。檔案在這四個區域之間的轉換關係如下:
- Workspace:工作區,就是你平時存放專案程式碼的地方
- Index / Stage:暫存區,用於臨時存放你的改動,事實上它只是一個檔案,儲存即將提交到檔案列表資訊
- Repository:倉庫區(或本地倉庫),就是安全存放資料的位置,這裡面有你提交到所有版本的資料。其中HEAD指向最新放入倉庫的版本
- Remote:遠端倉庫,託管程式碼的伺服器,可以簡單的認為是你專案組中的一臺電腦用於遠端資料交換
1、先說git最有用最常使用的一個操作操作
當我們已經把file 進行了 add操作 ,然後這時我們又想忽略這個檔案,你就會發現忽略不了。這時可以使用
git rm -r --cached [檔名或者資料夾名字]
先了解git rm -r --cached
背後的原理:
1.若檔案存在與stage和repository中時,會將檔案從repository中刪除,並且從stage中刪除,但不會刪除本地的實際檔案,不過由於檔案已經從repository中刪除,檔案會從tracked
變成untracked
。
2.若檔案存在與stage,卻不存在與repository中,會將檔案從stage中刪除,但不會刪除本地的實際檔案。由於repository中本來就沒有這個檔案,所以該檔案一樣會是untracked
狀態。
2、在說一下比較常用的git命令的操作
# 在當前目錄新建一個Git程式碼庫
$ git init
# 克隆一個專案和它的整個程式碼歷史(版本資訊)
$ git clone [url] # https://gitee.com/kuangstudy/openclass.git
#檢視指定檔案狀態
git status [filename]
#檢視所有檔案狀態
git status
# git add . 新增所有檔案到暫存區
# git commit -m "訊息內容" 提交暫存區中的內容到本地倉庫 -m 提交資訊
# 列出所有本地分支
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]
#檢視系統config
git config --system --list
#檢視當前使用者(global)配置
git config --global --list
Git相關的配置檔案:
1)、Git\etc\gitconfig :Git 安裝目錄下的 gitconfig --system 系統級
2)、C:\Users\Administrator\ .gitconfig 只適用於當前登入使用者的配置 --global 全域性
3、再來談談使用.ignore外掛在IDEA中忽略你要提交的檔案
有的時間建立的檔案,不想被提交到版本控制的的選項中。在IDEA中安裝.ignore外掛。建立好了之後:
1.新建.gitignore檔案(後面說配置檔案規則)
2.將不需要提交到版本控制add ignore中
4、在談談.ignore檔案的忽略配置規則
-
忽略檔案中的空行或以井號(#)開始的行將會被忽略。
-
可以使用Linux萬用字元。例如:星號(*)代表任意多個字元,問號(?)代表一個字元,方括號([abc])代表可選字元範圍,大括號({string1,string2,…})代表可選的字串等。
-
如果名稱的最前面有一個感嘆號(!),表示例外規則,將不被忽略。
-
如果名稱的最前面是一個路徑分隔符(/),表示要忽略的檔案在此目錄下,而子目錄中的檔案不忽略。
-
如果名稱的最後面是一個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非檔案(預設檔案或目錄都忽略)。
例如:
#為註釋*.txt #忽略所有 .txt結尾的檔案,這樣的話上傳就不會被選中!!lib.txt #但lib.txt除外/temp #僅忽略專案根目錄下的TODO檔案,不包括其它目錄tempbuild/ #忽略build/目錄下的所有檔案doc/*.txt #會忽略 doc/notes.txt 但不包括 doc/server/arch.txt # Compiled class file *.class # Log file *.log # BlueJ files *.ctxt # Mobile Tools for Java (J2ME) .mtj.tmp/ # Package Files # *.jar *.war *.nar *.ear *.zip *.tar.gz *.rar *.iml # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml .idea/ newshop-mall-biz/target/ newshop-mall-biz/src/test/ *.gitignore
最後在說一個小技巧
怎麼最快速將一個java專案讓git進行管理?
1、先在gitee(或者其他程式碼管理平臺)建立一個倉庫
2、將建立的倉庫clone到本地 -----簡稱遠端倉庫專案
3、建立你的java專案 -----簡稱本地專案
4、然後將c遠端倉庫本專案裡的所有檔案(包括.git隱藏檔案)拷貝到本地專案中,直接全覆蓋
5、這是在idea中你就會發現 多了git的一些push pull commit 等操作(若沒有出現這些圖示)
注:若沒有出現這些圖示(若按照以下操作還未出現git操作等圖示,可能你之前的操作有問題)
1、idea工具類裡面查到 VCS ,下拉選項裡面選擇 Enable Version Control Integration。
2、在彈出框裡面選擇需要的版本管理工具,如選擇Git。
相關文章
- 這不是就是軟體工程師最愛的東西軟體工程工程師
- 不是自己的東西不要拿,是做人最起碼的道理
- git常用命令(史上最經典)Git
- 其實在直播平臺買東西的客戶最愚蠢
- Git使用教程:最詳細、最傻瓜、最淺顯、真正手把手教!Git
- 你知道你自己最經常使用的是哪幾個Linux命令呢?Linux
- 最簡單的 Git 伺服器Git伺服器
- 央視:2021年中國人最捨得花錢的6件東西
- [譯]JS裡我才知道的東西JS
- 最簡單易懂的laravel事件,這個功能非常的有用Laravel事件
- 關於六西格瑪,這裡有你最關心的幾個問題!
- 個人最順手的git工作流程Git
- 哪裡有最好最便宜的茶葉
- 贓款藏在哪裡最安全
- css 最經典的按鈕樣式CSS
- DOE - 最經濟的實驗設計
- JRebel 破解最簡單的使用
- 在阿里工作的日子裡,我都學到了哪些東西?阿里
- 中國最愛下雨的地方是哪裡
- 您可能不瞭解git log的有用技巧 - Git BetterGit
- input 框裡面的東西刪不掉怎麼辦?
- 京東技術:用最小的圖片格式,打造最優的使用者體驗
- 哪裡批發茶葉最便宜?
- 最實用也最容易被遺忘的 Linux 命令列使用技巧Linux命令列
- 《最後生還者》裡錯位的因果論
- 怪東西
- Kubernetes 學習筆記-- kafka往couchdb裡倒東西筆記Kafka
- 最愛吃的菜,‘最後的記憶’。
- 最精簡使用mORMot (二)ORM
- 關於內容稽核,你需要了解的東西,這裡都有!
- 大佬有用的面經總結
- 創業和打工的最本質區別在哪裡?創業
- 律師行業最愛的網盤在這裡行業
- 抓住夏天的尾巴,也要抓住夏季裡最後的折扣呀
- 使用rails實現最簡單的CRUDAI
- 最簡單的人工神經網路神經網路
- 最經典四級英語詞彙
- 最「摳」的遊戲公司,請最貴的明星遊戲