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。
相關文章
- 這不是就是軟體工程師最愛的東西軟體工程工程師
- 其實在直播平臺買東西的客戶最愚蠢
- HTML5.1 裡的新東西HTML
- [譯]JS裡我才知道的東西JS
- git常用命令(史上最經典)Git
- Git使用教程:最詳細、最傻瓜、最淺顯、真正手把手教!Git
- linux新手最經常遇到的問題(轉)Linux
- git最簡教程Git
- PayPal:調查顯示中東歐消費者最喜歡從中國網站買東西網站
- JavaScript 6 裡都有啥新鮮東西?JavaScript
- 你知道你自己最經常使用的是哪幾個Linux命令呢?Linux
- 對於剛開始學習的人Xcode最經常使用的快捷鍵XCode
- 很有用的:電腦高手經常使用的五個按鈕
- java 異常必須知道的基礎東西(轉)Java
- 21 個最棒最有用的 JavaScript 圖表庫JavaScript
- input 框裡面的東西刪不掉怎麼辦?
- 在阿里工作的日子裡,我都學到了哪些東西?阿里
- 最簡單的 Git 伺服器Git伺服器
- 最簡單的 Git 入門教程Git
- 【MySQL】最容易忽略的常識MySql
- 怪東西
- 三種東西永遠不要放到資料庫裡資料庫
- 最簡單易懂的laravel事件,這個功能非常的有用Laravel事件
- Oracle新手最經常碰到的6個錯誤及解決方案Oracle
- 個人最順手的git工作流程Git
- 不要偷黑客的東西黑客
- [翻譯]Billy Belceb 病毒編寫教程for Win32 ----病毒編寫中的有用的東西Win32
- 最經典的黑客入門教程黑客
- 我在阿里工作的這段時間裡,都學到了哪些東西阿里
- 未來學東西的思路
- 筆試不會的東西筆試
- 蘋果真正賣的東西蘋果
- 哪三樣東西永遠不能放進資料庫裡資料庫
- Kubernetes 學習筆記-- kafka往couchdb裡倒東西筆記Kafka
- 這三種東西永遠不要放到資料庫裡(ZT)資料庫
- dbca裡面的 示例方案 和 HR schema是一個東西嗎
- iOS市場裡最貴的18個AppiOSAPP
- VBS 的基礎性的東西