安裝成功後在開始選單中會有git項,選單下有3個程式:任意資料夾下右鍵也可以看到對應的程式!
配置
#檢視系統config
git config --system --list
#檢視當前使用者(global)配置
git config --global --list
1)、git\etc\gitconfig :git 安裝目錄下的 gitconfig --system 系統級
2)、c:\users\administrator\ .gitconfig 只適用於當前登入使用者的配置 --global 全域性
設定/修改使用者名稱和位址
$ git config --global user.name "your name"
$ git config --global user.email "[email protected]"
檢視使用者名稱和位址
$ git config user.name
$ git config user.email
常用命令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 init
執行後可以看到,僅僅在專案目錄多出了乙個.git目錄,關於版本等的所有資訊都在這個目錄裡面。
轉殖乙個專案和它的整個**歷史(版本資訊)
$ git clone [url]
#
建立與合併
因為建立、合併和刪除分支非常快,所以git鼓勵你使用分支完成某個任務,合併後再刪掉分支,這和直接在master分支上工作效果是一樣的,但過程更安全。
檢視分支:git branch
建立分支:git branch
切換分支:git checkout 或者git switch
建立+切換分支:git checkout -b 或者git switch -c
合併指定分支到當前分支:git merge
刪除分支:git branch -d
衝突
解決衝突就是把git合併失敗的檔案手動編輯為我們希望的內容,再提交。
git log --graph命令可以看到分支合併圖
#檢視指定檔案狀態
git status [filename]
#檢視所有檔案狀態
git status
git add . 新增所有檔案到暫存區
git commit -m "訊息內容" 提交暫存區中的內容到本地倉庫 -m 提交資訊
忽略檔案
有些時候我們不想把某些檔案納入版本控制中,比如資料庫檔案,臨時檔案,設計檔案等
在主目錄下建立".gitignore"檔案。
輸錯退出
ctrl+c或ctrl+z
檢視工作區的狀態
$ git status
$ git
diff
#是工作區(work dict)和暫存區(stage)的比較
$ git
diff --cached #是暫存區(stage)和分支(master)的比較
$ git
diff head #檢視工作區和版本庫裡面最新版本的區別
遇到的一些問題及解決:
建立版本庫的預設目錄,其父目錄含有中文,為避免莫名其妙的問題,切換版本庫目錄:
git切換到指定目錄
$ cd /e/remote
git被另外乙個程式占用解決:進入專案資料夾下的 .git檔案中(顯示隱藏資料夾或rm .git/index.lock)刪除index.lock檔案即可
rm .git/index.lock
git log顯示的內容可能會比較多,但git bash上顯示不下時,最下面會有乙個冒號:,指示還有更多的內容,這是通過上下箭頭就可以選擇內容進行檢視,要退出按q鍵即可,要檢視其他命令,按h鍵。
git commit 時沒有加 -m「 message」的提示資訊就跳到了另外乙個介面?
git commit 不輸入 -m 以及後面的內容會進入vim模式
vi & vim 有兩種工作模式:
(1) 命令模式:接受、執行 vi & vim 操作命令的模式,開啟檔案後的預設模式;
(2) 編輯模式:對開啟的檔案內容進行 增、刪、改 操作的模式; 在編輯模式下按下 esc 鍵,回退到命令模式。
建立、開啟檔案:$ vi [filename]
(1)使用 vi 加 檔案路徑(或檔名)的模式開啟檔案,如果檔案存在則開啟現有檔案,如果檔案不存在則新建檔案,並在終端最下面一行顯示開啟的是乙個新檔案。
(2)鍵盤輸入字母 「i」或「insert」鍵進入最常用的插入編輯模式。
儲存檔案:
(1)在插入編輯模式下編輯檔案。
(2)按下 「esc」 鍵,退出編輯模式,切換到命令模式。
(3)在命令模式下鍵入"zz"或者":wq"儲存修改並且退出 vi 。
(4)如果只想儲存檔案,則鍵入":w",回車後底行會提示寫入操作結果,並保持停留在命令模式。
放棄所有檔案修改:
(1)放棄所有檔案修改:按下 「esc」 鍵進入命令模式,鍵入 「:q!」 回車後放棄修改並退出vi。
(2)放棄所有檔案修改,但不退出 vi ,即回退到檔案開啟後最後一次儲存操作的狀態,繼續進行檔案操作:按下 「esc」 鍵進入命令模式,鍵入 「:e!」 ,回車後回到命令模式。
關於git diff
git diff #是工作區(work dict)和暫存區(stage)的比較 git diff --cached #是暫存區(stage)和分支(master)的比較 git diff head #檢視工作區和版本庫裡面最新版本的區別
關於撤銷修改
遠端倉庫之檢視ssh公匙
cd ~(進入使用者主目錄) cd .ssh(進入.ssh目錄) ls(列出.ssh目錄的檔案,可以看到id_rsa id_rsa.pub兩個檔案) cat ~/.ssh/id_rsa.pub(可以看到id_rsa.pub檔案的內容,複製即可)
ls
命令就是list的縮寫?預設下ls用來列印出當前目錄的清單,ls -ah
列印出包括./ …/ 和隱藏目錄。
git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快。
https協議轉殖遠端倉庫:git clone
ssh協議轉殖遠端倉庫:`git clone [email protected]:karagrade/gitskills.git
對於所有分支而言, 工作區和暫存區是公共的。所以會遇到git 切換分支時會把未add或未commit的內容帶過去這種情況。
參考:git 切換分支時會把未add或未commit的內容帶過去
Git學習筆記
git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...
git 學習筆記
1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...
Git 學習筆記
顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...