填寫用戶名和郵箱,git config –global
這個參數,表示你這臺機器上全部的Git倉庫都會使用這個配置,固然你也能夠對某個倉庫指定的不一樣的用戶名和郵箱。git
git config –global user.name 'username' git config –global user.email '11111@qq.com'
進入d盤,github
建立repository倉庫app
將倉庫轉爲git倉庫ssh
cd d: mkdir repository git init
pwd
命令是用於顯示當前的目錄
git init
把這個目錄變成git能夠管理的倉庫學習
git add <file> 可反覆屢次使用,添加多個文件; git commit
git status 查看工做狀態 git diff 查看修改內容。 git diff HEAD -- test.txt 查看指定文件區別
git log 顯示從最近到最遠的提交日誌 git log –-pretty=oneline 查看歷史版本(簡略版) cat test1.txt 查看test1.txt 內容 git reflog 查看命令歷史,以便肯定要回到將來的哪一個版本。git git reset –hard HEAD^ 版本回退(那麼若是要回退到上上個版本只需把HEAD^ 改爲 HEAD^^ ) git reset –hard HEAD~100 回退100個版本 git reset –hard 版本號 回退到指定版本號的版本 HEAD指向的版本就是當前版本,所以,Git容許咱們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。
如今,你回退到了某個版本,關掉了電腦,次日早上就後悔了,想恢復到新版本怎麼辦?找不到新版本的commit id怎麼辦? 在Git中,老是有後悔藥能夠吃的。當你用$ git reset --hard HEAD^回退到add distributed版本時,再想恢復到append GPL,就必須找到append GPL的commit id。Git提供了一個命令git reflog用來記錄你的每一次命令:fetch
git checkout -- test.txt:當你改亂了工做區某個文件的內容,想直接丟棄工做區的修改時使用 git reset HEAD test.txt :當你不但改亂了工做區某個文件的內容,還添加到了暫存區時, 想丟棄修改,分兩步,第一步用命令git reset HEAD file,就回到了場景1,第二步按場景1操做。 版本回退:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠程庫。
rm test.txt 刪除工做區的文件 git rm test.txt 刪除版本庫的文件 git commit -m '' 提交到版本庫 git checkout -- test.txt 撤銷
ls -al ~/.ssh
命令檢查是否本地用戶主目錄有名爲.ssh的密鑰保存文件夾和密鑰文件。ssh-keygen -t rsa –C 「111@qq.com」
建立SSH Key,一路回車,使用默認值便可,因爲這個Key也不是用於軍事目的,因此也無需設置密碼。git remote add origin https://github.com/jiangbang/repository.git
遠程庫的名字就是origin,這是Git默認的叫法bgit push -u origin master
第一次推送master分支的全部內容,每次本地提交後,只要有必要,就可使用命令git push origin master
推送最新修改;須要輸入github用戶名,密碼查看分支:git branch 建立分支:git branch <name> 切換分支:git checkout <name> 建立+切換分支:git checkout -b <name> 本地建立+切換分支:git checkout -b V1.5 origin/V1.5 合併某分支到當前分支:git merge <name> 刪除分支:git branch -d <name> 強行刪除: git branch -D <name> 查看分支合併圖:git log --graph <name>
保存支線 git stash 恢復支線 git stash apply 刪除支線 git stash drop 恢復並刪除 git stash pop
多人協做的工做模式一般是這樣:
1. 首先,能夠試圖用git push origin <branch-name> 推送本身的修改;
2. 若是推送失敗,則由於遠程分支比你的本地更新,須要先用 git pull 試圖合併;
3. 若是合併有衝突,則解決衝突,並在本地提交;
4. 沒有衝突或者解決掉衝突後,再用git push origin <branch-name> 推送就能成功!網站
查看遠程庫信息,使用git remote -v; 本地新建的分支若是不推送到遠程,對其餘人就是不可見的; 從本地推送分支,使用git push origin branch-name,若是推送失敗,先用git pull抓取遠程的新提交; 在本地建立和遠程分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠程分支的名稱最好一致; 創建本地分支和遠程分支的關聯,使用git branch --set-upstream branch-name origin/branch-name; 從遠程抓取分支,使用git pull,若是有衝突,要先處理衝突。
命令git push origin <tagname>能夠推送一個本地標籤; 命令git push origin --tags能夠推送所有未推送過的本地標籤; 命令git tag -d <tagname>能夠刪除一個本地標籤; 命令git push origin :refs/tags/<tagname>能夠刪除一個遠程標籤;
運行 git fetch,能夠將遠程分支信息獲取到本地,再運行 git checkout -b local-branchname origin/remote_branchname 就能夠將遠程分支映射到本地命名爲local-branchname 的一分支。
廖雪峯老師的官方網站:http://www.liaoxuefeng.com/
手把手教git: http://blog.jobbole.com/78960/
訓練動手能力的git操做網站:http://pcottle.github.io/learnGitBranching/?demo 日誌