說到git命令,首先我們要理解git 的執行原理,簡單的分為4個部分,分別是workspace工作區,stage快取區,resposity 本地倉庫以及remote遠端倉庫;從根本來說,git就是一套內容定址檔案系統,我們學會一些簡單的命令列操作即可,目的就是將我們本地倉庫**提交至遠端倉庫,中間的快取區就是乙個過渡區域,可以供我們使用執行一系列操作,下面簡單的介紹一下常用的一些git 命令!
一般對於第一此提交**時,是需要配置使用者資訊的:
1. git comfig -list 顯示當前的git配置
2. git config -e [-global] 編輯git配置檔案
3. 提交**時的使用者資訊:
git config [-global] user.name 'name'
git config [-global] user.email 'email,address'
複製**
對於日常的**來說,我們只需要知道以下的這些命令列就可以了:1. git init [name] 新建目錄並初始化git **庫
2. git clone url 從遠端倉庫拉取**,此處url 就是倉庫中的鏈結
3. git status 檢視當前的**的提交狀態
4. git diff 檢視**修改的內容
5. git pull 更新本地倉庫的**
7. git log 顯示當前分支的歷史版本
8. git blame 'file' 顯示指定檔案是誰什麼時候修改的
複製**
分支管理:1. git branch 檢視當前所在分支
2. git branch -r 檢視所有的遠端分支
3. git branch -a 列出所有的遠端分支和本地分支
4. git checkout '分支名' 切換至遠端分支
5. git branch '分支名' 新建分支但還滯留在當前分支
6. git branch -b '分支名' 新建分支並且跳轉至新建分支
7. git branch - 切換到上乙個分支
8. git merge '分支名' 合併指定分支到當前分支
9. git branch -d '分支名' 刪除本地分支
10. git push origin --delete '分支名' 刪除遠端分支
複製**
另外和branch 分支類似的還有tag標籤,用法類似:1. git tag 檢視所有的本地tag 標籤
2. git tag 'name' 新建tag 標籤
3. git tag -d 'name' 刪除本地tag 標籤
4. git push origin :refs/tags/'name' 刪除遠端tag 標籤
5. git show 'tag' 檢視tag 資訊
6. git push [remote] [tag] 提交指定tag
7. git push [remote] --tags 提交所有的tag
複製**
**提交:1. git add 'file' 新增檔案至快取區
2. git add . 新增當前目錄的所有檔案至暫存區
3. git commit -m '提交的備註資訊' 提交**至倉庫
4. git commit 'file' -m 'info' 提交某乙個檔案至倉庫
5. git commit -a 提交快取區自上次提交之後的變化,直接提交至倉庫
6. git commit -v 提交時顯示所有的diff
提交過後,我們需要將**從本地倉庫提交至遠端倉庫:
若已有遠端分支,我們直接git push 即可
若無,我們需要使用 git push --set-upstream origin 'name'
複製**
模組(submodule)相關操作命令新增子模組:$ git submodule add 'url' 『name』
初始化子模組:$ git submodule init ----只在首次檢出倉庫時執行一次就行
更新子模組:$ git submodule update ----每次更新或切換分支後都需要執行一下
刪除子模組:(4步)
1)$ git rm --cached [path]
4) 手動刪除子模組殘留的目錄
複製**
一些我們遇到問題時候的處理辦法,常用,較為重要:1. git reset 'file' 重置暫存區的指定檔案,但是工作區保持不變,
2. git reset --hard 重置暫存區和工作區,與上一次commit 保持一致
3. git stash 將現有的改動放入快取區,此時就可以切換分支
4. git stash pop 將我們stash 的檔案釋放,一般再切換分支不想提交的時候可以使用這兩個命令
5. git checkout 'name' -f 若遇到無法切換分支的情況下,我們可以對其強制進行切換。
複製**
從乙個什麼git 命令都不知道的小白,到現在花了幾個月也就知道這麼多命令列,針對於工作,已經滿足需求了,剩下的請各位大佬補充!!! Python學習筆錄
參考 1.type和isinstance區別 type a a,type 不會認為子類是一種父類型別。isinstance a a isinstance 會認為子類是一種父類型別。2.標準資料型別 python3 中有六個標準的資料型別 number 數字 string 字串 list 列表 tup...
Linux學習筆錄
cal y 2019 test.txt 儲存螢幕的內容 ps 當前終端下的程序 ps aux所有程序 1 觀察磁碟活動情況 磁碟活動情況主要從以下幾個指標了解 bi 表示從磁碟每秒讀取的塊數 blocks s 數字越大,表示讀磁碟的活動越多。bo 表示每秒寫到磁碟的塊數 blocks s 數字越大,...
awk學習筆錄(一)
awk是一門指令碼處理語言,對於處理格式化的文字而言非常方便。下面結合自己實際過程中的使用體會做一些總結。awk指令碼由3部分組成,begin 模式 和end begin 用來進行一些預設定,比如初始化變數,end 用來做一些善後處理,所以兩者對於乙個文字檔案來說只執行一次,而中間的 模式 部分以行...