GIT常用指令
*來自廖雪峰老師的git教程,以下是我的簡要筆記,可能有點亂,但不影響閱讀

初次運作git:
ssh-keygen -t rsa -C [email protected]
生成key
配置目前使用者名和郵箱
Gitconfig --global user.name “your name”
Gitconfig –global user.email “[email protected]”
git init
把這個目錄變成Git可以管理的倉庫
git add readme.txt
把某個檔案添加到倉庫裡
git commit -m "wrote a readmefile"
把已添加的檔案上傳到倉庫
git status
指令可以讓我們時刻掌握倉庫目前的狀态
git diff
顧名思義就是檢視difference,顯示的格式正是Unix通用的diff格式
git log
指令顯示從最近到最遠的送出日志
git reset
版本回退 如:git reset --hard HEAD^ HEAD^代表上個版本 HEAD^^代表上上個版本
git reflog
用來記錄你的每一次指令
git checkout -- readme.txt
意思就是,把readme.txt檔案在工作區的修改全部撤銷
git rm test.txt
git commit
删除遠端倉庫的檔案
git clone [email protected]:michaelliao/gitskills.git *用ssh比用http速度更快
從遠端克隆一個倉庫
git checkout -b dev表示建立并切換,相當于以下兩條指令:
git branch dev(建立)
git checkout dev(切換)
git branch指令檢視所有分支,如果是目前分支,前面會有個*
分支小結:
檢視分支:git branch
建立分支:git branch <name>
切換分支:git checkout <name>
建立+切換分支:git checkout -b <name>
合并某分支到目前分支:git merge <name>
删除分支:git branch -d <name>
git log --graph指令可以看到分支合并圖
git merge --no-ff -m "merged bug fix101" issue-101 --no-ff 表示不啟用fast-forward
git stash把目前工作現場“儲藏”起來,等以後恢複現場後繼續工作
git stash list 檢視工作現場
git stash apply恢複
git stash drop删除
git stash pop恢複的同時把stash内容也删了
git branch -D feature-vulcan 強行删除一個未合并的分支
檢視遠端庫資訊,使用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 tag <name>就可以打一個新标簽:
git tag檢視所有标簽:
add merge這次送出打标簽,它對應的commit id是f52c633,敲入指令:
git tag v0.9 f52c633
git show <tagname>檢視标簽資訊
指令git push origin <tagname>可以推送一個本地标簽;
指令git push origin --tags可以推送全部未推送過的本地标簽;
指令git tag -d <tagname>可以删除一個本地标簽;
指令git push origin :refs/tags/<tagname>可以删除一個遠端标簽。
git config --global alias.co checkout配置指令簡稱