Git常用命令

理解幾個概念: 
工作區: 就是你在電腦上看到的目錄(裏面會有.git隱藏目錄); 
版本庫: 就是.git隱藏目錄。這裏git commit -m "註釋"命令就會把暫存區的所有內容提交到當前分支。 
暫存區: 在.git中的一個stage,爲暫存區,這裏git add xxx.md命令就是把xxx.md文件添加到暫存區。

配置全局用戶名、郵箱

git config –global user.name “taopingping” 
git config –global user.email “[email protected]


創建版本庫: 
git init


提交更改文件 
git add xxx.md 添加到暫存區 
git status 查看文件是否有未提交的 
git diff xxx.md 比較 
git commit -m '提交註釋'

查看歷史 
git log 
git log --pretty=oneline 
git log --graph --pretty=oneline --abbrev-commit 
git reflog 查版本號

版本回退 
git reset --hard HEAD^ 一個^表示回退上一個版本。HEAD~n:表示回退到上n版本


git撤銷修改和刪除文件 
情況1:如果我知道要刪掉那些內容的話,直接手動更改去掉那些需要的文件,然後add添加到暫存區,最後commit掉。
我可以按以前的方法直接恢復到上一個版本。使用 git reset --hard HEAD^
git checkout --fileName 可以丟棄工作區的修改 
未放到暫存區: 
直接用git checkout --fileName,直接回到和版本庫一樣的狀態。


放到暫存區 
直接用git checkout --fileName,撤銷修改就回到添加暫存區後的狀態。
rm xx.md –> git add xx.md –> git commit -m "註釋"


遠程倉庫 
創建SSH Key:在用戶主目錄下,看看有沒有.ssh目錄有沒有這兩個文件 
id_rsa –私鑰 
id_rsa.pub –公鑰
沒有上面兩個文件就創建: 
ssh-keygen -t rsa -C “[email protected]
登陸github 
賬號、密碼 
添加SSH Key 
創建遠程庫(此時是空的,可以把本地倉庫推送到該空庫)
git remote add origin master https://github.com/taopingping1989/test.git
git push -u origin master


克隆一個本地庫 
git clone https://github.com/taopingping1989/test2


創建與合併 
git checkout -b dev,創建並切換分支。等於 
git branch dev 
git checkout dev


查看當前分支:git branch
把分支dev的內容用快進模式合併到當前分支: git merge dev
刪除分支: git branch -d dev


解決衝突 
在分支dev上改了a文件,添加到暫存區且提交到庫。這是發現master主分支上竟然a文件已經被更改,
此時需要到master分支上來合併dev分支。git merge dev


分支管理策略 
可以禁用fast-forward模式,因爲這個模式刪除分支後,會丟分支信息,
git merge -no-ff -m "註釋" dev


分支策略: 
保證master主分支非常穩定,用於發佈新版本。
在新建分支dev上開發,後期合併到master主分支。
bug分支,臨時新建一個分支用於修復bug,合併到主分支後,刪掉該臨時分支。
git stash:可以把當前工作現場隱藏起來,不會被git status發現。這要在開新的臨時bug分支時,就不會干擾當前的開發分支dev。
git stash list
git stash apply 恢復,stash內容不會被刪除,所以得刪除
git stash drop
git stash pop,恢復的同時,也刪除內容。


多人協作 
git remote
git remote -v
推送分支:git push origin master
master分支是主分支,時刻需要與遠程同步。
一些修復bug分支不需要推送遠程,可以先合併到主分支上,通過推送主分支到遠程。


抓取分支: 
使用命令創建本地dev分支:git checkout -b dev origin/dev
開發完成把dev分支推送到遠程去: git push origin dev


推送失敗: 
先用git pull把最新的提交從origin/dev抓取下來,在本地合併,解決衝突,在合併,同svn。
git pull發現也推送失敗: 
沒有指定本地dev分支與遠程origin/dev分支鏈接。git branch --set-upstream dev origin/dev
git pull成功,手動合併
推送git push origin dev成功。

 


Git基本常用命令


mkdir: XX (創建一個空目錄 XX指目錄名)

pwd: 顯示當前目錄的路徑。

git init 把當前的目錄變成可以管理的git倉庫,生成隱藏.git文件。

git add XX 把xx文件添加到暫存區去。

git commit –m “XX” 提交文件 –m 後面的是註釋。

git status 查看倉庫狀態

git diff XX 查看XX文件修改了那些內容

git log 查看歷史記錄

git reset –hard HEAD^ 或者 git reset –hard HEAD~ 回退到上一個版本(如果想回退到100個版本,使用git reset –hard HEAD~100 )

cat XX 查看XX文件內容

git reflog 查看歷史記錄的版本號id

git checkout — XX 把XX文件在工作區的修改全部撤銷。

git rm XX 刪除XX文件

git remote add origin https://github.com/taopingping1989/test.git 關聯一個遠程庫

git push –u(第一次要用-u 以後不需要) origin master 把當前master分支推送到遠程庫

git clone https://github.com/taopingping1989/test.git 從遠程庫中克隆

git checkout –b dev 創建dev分支 並切換到dev分支上

git branch 查看當前所有的分支

git checkout master 切換回master分支

git merge dev 在當前的分支上合併dev分支

git branch –d dev 刪除dev分支

git branch name 創建分支

git stash 把當前的工作隱藏起來 等以後恢復現場後繼續工作

git stash list 查看所有被隱藏的文件列表

git stash apply 恢復被隱藏的文件,但是內容不刪除

git stash drop 刪除文件

git stash pop 恢復文件的同時 也刪除文件

git remote 查看遠程庫的信息

git remote –v 查看遠程庫的詳細信息

git push origin master Git會把master分支推送到遠程庫對應的遠程分支上

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章