Git 02: git管理碼云代碼倉庫 + IDEA集成使用git

Git項目搭建創建工作目錄與常用指令

【Git 02: git管理碼云代碼倉庫 + IDEA集成使用git】工作目錄(WorkSpace)一般就是你希望Git幫助你管理的文件夾,可以是你項目的目錄,也可以是一個空目錄,建議不要有中文 。
日常使用只要記住下圖6個命令:

Git 02: git管理碼云代碼倉庫 + IDEA集成使用git

文章插圖
本地倉庫搭建
創建本地倉庫的方法有兩種:一種是創建全新的倉庫 , 另一種是克隆遠程倉庫 。
創建全新的倉庫,需要用GIT管理的項目的根目錄執行
# 在當前目錄新建一個Git代碼庫$ git init
執行后可以看到,僅僅在項目目錄多出了一個.git目錄,關于版本等的所有信息都在這個目錄里面
克隆遠程倉庫
另一種方式是克隆遠程目錄 , 由于是將遠程服務器上的倉庫完全鏡像一份至本地
# 克隆一個項目和它的整個代碼歷史(版本信息)$ git clone [url]# https://gitee.com/xun-study/xun-share.gitGit文件操作文件的四種狀態
版本控制就是對文件的版本控制 , 要對文件進行修改、提交等操作 , 首先要知道文件當前在什么狀態,不然可能會提交了現在還不想提交的文件,或者要提交的文件沒提交上 。
  • 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"文件 , 此文件有如下規則
  • 忽略文件中的空行或以井號(#)開始的行將會被忽略 。
  • 可以使用Linux通配符 。例如:星號(*)代表任意多個字符 , 問號(?)代表一個字符,方括號([abc])代表可選字符范圍,大括號({string1,string2,...})代表可選的字符串等 。
  • 如果名稱的最前面有一個感嘆號(!),表示例外規則,將不被忽略 。
  • 如果名稱的最前面是一個路徑分隔符(/),表示要忽略的文件在此目錄下,而子目錄中的文件不忽略 。
  • 如果名稱的最后面是一個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非文件(默認文件或目錄都忽略) 。
#為注釋*.txt#忽略所有 .txt結尾的文件,這樣的話上傳就不會被選中!!lib.txt#但lib.txt除外/temp#僅忽略項目根目錄下的TODO文件,不包括其它目錄tempbuild/#忽略build/目錄下的所有文件doc/*.txt#會忽略 doc/notes.txt 但不包括 doc/server/arch.txt使用碼云