//建立一個文件夾gitreview mkdir gitreview //進入到git文件夾內 cd gitreview
使用將這個目錄變成git能夠管理的倉庫 git init
git
在倉庫內新建一個文件touch file.text
github
使用git add file.text
把文件添加到倉庫app
使用git commit -m "first upload"
把文件提交到倉庫-m
後面輸入的是本次提交的說明,能夠輸入任意內容ssh
修改文件file.text
並使用git status
查看當前倉庫的狀態code
git diff
查看上次修改的記錄排序
git log
查看歷史記錄開發
使用git reset --hard HEAD^
回退到上一個版本rem
git reflog
記錄了你的每一次命令it
使用git reset --hard 版本號
能夠退回到當前版本ast
當第一次修改某個文件的時候,git add xfile
以後再一次修改了文件並git commit -m "commit"
後,發現第二次的修改沒有生效,提交到倉庫的是第一次修改的內容.git 管理的是修改,當使用git add
命令後,工做區的第一次修改被放入到了暫存區,準備提交,可是,在工做區的第二次修改並無放入暫存區,因此,git commit只負責把暫存區的修改提交了,也就是第一次的修改被提交了,第二次的修改不會被提交。
git checkout -- file.text
意思是把file.text
在工做區的修改所有撤銷
當修改的文件已經被git add
以後如何可以退回:git reset HEAD file.text
把暫存區的修改回退到工做區,使用git checkout -- file.text
丟棄工做區
使用git rm file.text
來刪除文件,使用git checkout -- file.text
將刪除的文件恢復到最新版本 #####經過SSH提交代碼到github
$ ssh-keygen -t rsa -C "youremail@example.com"
在用戶主目錄中找到.ssh
目錄,裏面有id_rsa
和id_rsa.pub
兩個文件這兩個就是SSH的密匙,id_rsa是私鑰,id_rsa.pub是公鑰touch README.MD
git init
git add README.MD
git commit -m "commit"
git remote add origin git@github.com:bilibiliSiki/LeetCode.git
git push -u origin master
數據就提交到了github上 #####分支管理
git checkout -b dev
表示建立並切換至關於</br> git branch dev
git checkout dev
git branch
查看當前分支git checkout master
切換回master分支git merge dev
git branch -d dev
刪除dev分支 ######分支管理策略 一般git會用fast forward
模式,但這種模式下刪除分支後會丟掉分支信息合併分支的時候git merge --no-ff -m "merge dev" dev
使用no-ff
表示禁用fast forward
合併分支的時候,加上--no-ff
參數能夠用普通模式合併,合併後的歷史有分支,而fast forward
合併看不出來曾經作過合併 ######Bug分支 git stash
能夠把現場儲藏起來等恢復現場後繼續工做
git stash list
查看剛纔的工做現場
如今有兩種方式來恢復
git stash apply
恢復,可是恢復後stash內容並不刪除,須要git stash drop
來刪除git stash pop
恢復的同時把stash的內容也刪了git stash apply stash@{0} 恢復指定的stash
######多人協做
git remote
查看遠程庫的信息git remote -v
顯示更詳細的信息git push origin dev
推送其餘分支git clone git@github.com:bilibiliSiki/LeetCode.git
從遠程庫克隆只能看到本地的master
分支,如今須要在dev
分支上開發,就須要建立origin
的dev
分支git checkout -b dev origin/dev
git pull
把提交的數據抓下來######git標籤 git tag v1.0
建立一個標籤
git tag
現實全部的標籤
git show v1.0
按字母排序列出數據
git tag -d v0.1
刪除標籤
推送某個標籤到本地 git push origin v1.0
一次性推送所有還沒有推送的本地標籤 git push origin --tags