git 常用指令總結——基於廖雪峯大神的Git教程

本總結基於廖雪峯大神的Git教程,教程上對本總結的指令都有詳細的解釋,不懂的可以閱讀教程,附上地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


前言


git  的每次提交都是基於前一次提交的,也就是是分割式提交,不能刪除中間的某次提交的!

正文

git config --global user.name "Your Name"

git config --global user.email "[email protected]"  設置用戶名和郵箱


git init 初始化倉庫


ls -ah 顯示當前目錄下的所有文件和文件夾,包括隱藏的


git add readme.txt 把readme.txt文件添加到倉庫


git add . 把當前目錄下的所有文件添加到倉庫


git commit -m "add" 把添加了的文件提交到倉庫 “add”是本次提交的說明


git log 顯示從最近到最遠的提交日誌


git log --pretty=oneline  精簡版git log


git reset --hard HEAD^   把當前版本回退到上一個版本


git reset --hard HEAD^^  把當前版本回退到上上一個版本


git reset --hard HEAD~100 把當前版本回退到往上100個版本


git reset --hard 3628164  把當前版本回退到3628164(某個版本的版本號的前幾位)


git reflog 查看命令歷史,以便確定要回到未來的哪個版本


git diff HEAD -- readme.txt  查看readme.txt文件在工作區和版本庫裏面最新版本的區別


git checkout -- readme.txt  讓readme.txt這個文件回到最近一次git commit或git add時的狀態


git reset HEAD readme.txt 把暫存區的修改回退到工作區


git remote add origin [email protected]:michaelliao/learngit.git  把本地倉庫與遠程庫關聯(SSH法)


git remote add origin http://github.com/michaelliao/learngit.git  把本地倉庫與遠程庫關聯(HTTPs法)


git push -u origin master  當前分支master推送到遠程,加上了-u參數,Git還會把本地的master分支和遠程的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令 git push origin master


git clone [email protected]:michaelliao/gitskills.git  克隆到本地庫 同關聯


git checkout -b dev  表示創建並切換dev分支,相當於以下兩條命令


git branch dev  創建dev分支


git checkout dev  切換到dev分支


git branch  查看分支


git merge dev 用於合併指定分支(dev)到當前分支(如:master)(Fast forward模式)


git branch -d dev 刪除dev分支(若未合併就刪不了)


git branch -D dev 強行刪除dev分支 


git merge --no-ff -m "merge with no-ff" dev  禁用Fast forward模式的提交,Git就會在merge時生成一個新的commit,"merge with no-ff"是提交信息


git stash  把當前工作現場“儲藏”起來,等以後恢復現場後繼續工作


git stash list  查看當前分支的工作現場


git stash drop  刪除工作現場


git stash apply stash@{0}  恢復stash@{0}的工作現場


git log --graph --pretty=oneline --abbrev-commit  查看分支的合併情況


git log --graph  看到分支合併圖


git remote 查看遠程庫的信息


git remote -v 顯示更詳細的信息


git checkout -b dev origin/dev  創建遠程origin的dev分支到本地


git branch --set-upstream dev origin/dev  設置dev和origin/dev的鏈接


git pull  把和當前分支綁定的遠程分支上的代碼更新下來







其它


git branch -a  查看遠程分支


git rebase -i HEAD~2 合併兩個提交 https://www.cnblogs.com/tocy/p/git-rebase-merge-commit.html 
                                  http://www.jianshu.com/p/964de879904a


git commit --amend -m "重寫"  修正最後一個 commit 消息爲"重寫"




git reset HEAD  取消緩存區的修改


git reset commit_id  完成Commit命令的撤銷,但是不對代碼修改進行撤銷


git fetch  更新remote索引,當遠程的東西不同步時,類似刷新


git push origin --delete dev   刪除遠程分支dev


git show commit_id 根據commit id查看該提交具體修改了什麼


查看遠程分支提交信息:1.使用fetch命令,將遠程分支dev拉下來(不更新)
                        git fetch origin dev
                      2.切換到遠程分支dev
                        git checkout origin/dev














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