經常使用git
操做總結記錄git
安裝Git
配置github
$ git config --global user.name "" $ git config --global user.email ""
本地建立版本庫segmentfault
$ git mkdir git $ cd git $ git init
備份並刪除原有SSHapp
檢查ssh是否存在ssh
$ cd ~/.ssh
若是存在,則備份並刪除fetch
$ ls id_rsa id_rsa.pub known_hosts $ mkdir key_backup //建立備份目錄 $ cp id_rsa* key_backup //備份 $ rm id_rsa* //刪除
添加遠程倉庫(github
)spa
建立SSH Key
命令行
$ ssh-keygen -t rsa -C "email@example.com"
這時在用戶目錄下多出了兩個文件:id_rsa
(私鑰)和id_rsa.pub
(公鑰),建立空文件known_hosts
。日誌
GitHub
,打開Account settings/SSH Keys
頁面,點Add SSH Key
,填上Title
,在Key
文本框裏粘貼id_rsa.pub
文件的內容。粘貼好之後點Add Key
,你就應該看到已經添加的Key
。Create repository
,建立遠程倉庫。添加遠程倉庫。code
$ git remote add origin git@github.com:username/repository.git
第一次推送並關聯遠程庫
$ git push -u origin master
克隆遠程倉庫
github
上fork
一個開源倉庫,這時,這個倉庫在你的帳號中已經有了一個副本了。克隆到本地。
$ git clone git@github.com:username/repository.git
pull reques
到開源倉庫。從工做區(Working Directory
)添加到暫存區(stage/index
)
$ git add readme.md $ git add . //添加全部修改的文件
從暫存區提交到版本庫(Repository/HEAD
)
$ git commit -m ""
從版本庫推送到遠程倉庫master
分支
$ git push origin master
從遠程倉庫更新本地
$ git pull
從遠程倉庫獲取最新文件並更新本地
$ git fetch origin master $ git log -p master..origin/master //查看不一樣 $ git merge origin master
查看本地文件狀態
$ git status
查看文件修改內容
$ git diff
查看提交歷史日誌
$ git log $ git log --pretty=oneline //一行顯示一次提交歷史
查看命令歷史
$ git reflog
查看遠程庫信息
$ git remote $ git remote -v
撤銷工做區的修改(找回被誤刪的工做區的文件)
$ git checkout -- readme.md //回到最近一次add或commit時的狀態
撤銷提交到暫存區的文件
$ git reset HEAD readme.md
回退版本到該版本commit
以前
$ git reset --hard HEAD^ //回退到上一個提交版本 $ git reset --hard HEAD^^ //回退到上兩個提交版本 $ git reset --hard HEAD~100 //回退到上100個提交版本 $ git reset --hard 123456... //回退到提交id爲123456...的版本
刪除文件
$ git rm readme.md $ git commit -m "delete readme.md"
最後附圖一張:
查看分支
$ git branch
建立分支dev
$ git branch dev
切換到分支dev
$ git checkout dev
建立並切換到分支dev
$ git checkout -b dev $ git checkout -b dev origin/dev //建立遠程倉庫分支到本地
指定遠程倉庫dev
分支到本地dev
分支的連接
$ git branch --set-upstream dev origin/dev
合併分支dev
$ git merge dev $ git merge --no-ff -m "merge with no-ff" dev //生成一次commit,經過歷史記錄能夠查詢到。
刪除分支dev
$ git branch -d dev $ git branch -D dev //刪除沒有合併的分支
保存現場
$ git stash
查看保存的現場
$ git stash list
刪除現場
$ git stash pop //恢復現場並刪除stash $ git stash apply //恢復現場不刪除stash $ git stash drop //刪除現場
查看標籤
$ git tag
建立標籤
$ git tag v1.0 $ git tag v0.9 123456... //爲提交id爲123456...的版本建立標籤 $ git tag -a v1.0 -m "v1.0 released" 123456... //添加註釋
查看標籤信息
$ git show v1.0
推送標籤到遠程庫
$ git push origin v1.0 $ git push origin --tags //推送全部標籤
刪除標籤
$ git tag -d v1.0 $ git push origin :refs/tags/v1.0 //刪除遠程庫標籤
.gitignore
文件忽略不須要添加到本地倉庫的文件。配置別名。
$ git config --global alias.st status $ git config --global alias.co checkout $ git config --global alias.ci commit $ git config --global alias.br branch $ git config --global alias.unstage 'reset HEAD' $ git config --global alias.last 'log -1' $ git config --global alias.lg 'log --pretty=oneline'
配置別名也可在.gitconfig
文件中設置。
刪除別名。在.git/config
配置文件中刪除對應的別名。
參考:廖雪峯Git教程
配置github的SSH key及GitHub項目上傳方式一——使用終端命令行
轉載請註明出處: https://segmentfault.com/a/11...文章不按期更新完善,若是能對你有一點點啓發,我將不勝榮幸。