git的使用及操作
1,創建Git庫
cd 源碼目錄
git init #初始化 在源碼目錄內生成一個.git的目錄
2, 註冊用戶信息
git config --global user.name XXX 用戶名
git config --global user.email XXX 用戶郵箱
git config –list #查看用戶信息
3, 向git庫中添加或刪除文件
git add XX #加單個文件
git add . #加所有
git add [path]會把對應目錄或文件,添加到stage狀態
git add . 會把當前所有的untrack files和changed but not updated添加到stage狀態
4, 向版本庫提交變化
git commit –m “XXXX” #直接添加簡單提交信息,添加註釋
git status #查看當前代碼庫的狀態
git log #查看版本信息
git log –p #查看版本信息並顯示每次修改的diff
git show sdjf974654dd…. #查看指定版本信息
#(show後面爲每次提交系統自動生成的一串哈希值)
git show sdji97 #一般只使用版本號的前幾個字符即可
5, 撤銷與恢復
git reset
git reset --hard #回到原來編輯的地方,改動會丟失。
#(同樣適用於團隊對於其他人的修改恢復)
git reset --hard sdv143kvf…... #可回到指定的版本
#(hard後面爲每次提交系統自動生成的一串哈希值)
git reset [path] 會改變path指定的文件或目錄的stage狀態,到非stage狀
git reset 會將所有stage的文件狀態,都改變成非stage狀
回退1個change的寫法就是git reset HEAD^,2個爲HEAD^^,3個爲HEAD~3,以此類推。
6, 向服務器提交變化
git push #向服務器提交
7,暫存改動
git stash可以把當前的改動(stage和unstage,但不包括untrack的文件)暫存。然後通過git stash list查看。
通過git stash apply(pop)重新取出來。但apply(pop)之前要保證worktree是乾淨的。git stash apply(不清除緩存的文件),git stash pop(清除緩存的文件)
git stash save {String} 把一批更改緩存起來,並命名爲String
8,git的團隊開發及操作,
a : 獲取項目
cd 本地工作目錄(自定)
git clone 服務器帳戶@IP:項目.根路經
eg:
git clone [email protected]:android2.2.git
說明:這裏假定服務器的用戶名爲git,服務器IP爲192.168.20.22,項目名爲android2.2,根路經爲git的home(即根路徑)
b: 團隊開發的基本流程
git add 改動的文件
git commit #(提交至本地)
git pull #(將服務器項目與本地項目合併)
git push #(將本地項目上傳至服務器)(在提交前要git pull --rebase一下,確保當前的本地的代碼爲最新。)
9,git的分支管理
git分支操作在本地建立分支,然後與本地主枝合併,最終提交到服務器。有效的避免了因個人操作不當向服務器提交過多髒數據,避免頻繁git clone服務器來更新本地庫。
分支操作指令:
a: 建立分支
git branch AAA #建立分支AAA
b:分支切換
git checkout AAA #從當前分支切換到AAA分支
c: 將分支與主枝master合併
git checkout master #(首先切換回主枝)
git merge AAA #(將分支AAA與主枝合併)
d:當前分支查看
git branch #默認有master(也稱爲主枝)
git branch –a 查看當前所有分支
e: 刪除分支
git branch –d AAA #刪除分支AAA
備註:上面只是一些基本的操作命令,更多的命令可通過幫助文檔查詢。
幫助文檔的使用:
man git-<需查詢的指令> #(git後面有“-”)
如commit的查詢爲 man git-commit