經常使用Git命令

根據廖雪峯的git教程整理的命令集合,以供學習使用~~~
安裝git完成後,須要先登陸帳戶
git config --global user.name "IceyCity"
git config --global user.email "120174xxx@cug.edu.cn"

建立版本庫

初始化git倉庫:git init
查看文件修改內容:git diff file
查看歷史提交日誌:git log
查看命令歷史:git refloggit

版本回退

git reset --hard HEAD^ 回到上一個版本
git reset --hard 版本號 回到指定版本github

撤銷修改

git add 提交到暫存區
git commit 提交到當前分支
git checkout -- file 撤銷你修改的內容
git reset HEAD file 把添加到暫存區的修改撤回app

撤銷修改.png

刪除文件

  • 正常刪除: 經過命令刪除:git rm file -> git commit -m ""
  • 本地刪錯了,版本庫裏還存在:經過git checkout -- file恢復

遠程倉庫

建立密鑰:ssh-keygen -t rsa -C "120174xxx@cug.edu.cn"
id_rsa.pubssh

將本地倉庫與遠程倉庫關聯,並推送本地倉庫內容:學習

git remote add origin git@github.com:IceyCity/本地倉庫名.git
git push -u origin master   // 推送本地內容,並關聯遠程分支
分支管理

master指向當前提交,HEAD指向當前分支。spa

git switch -c dev   // 建立並切換分支
git merge dev   // 合併分支
git branch -d dev   // 刪除dev分支
  • 當主分支與開發分支都有各自的commit以後合併,會發生衝突,需手動解決。
  • git log --graph命令能夠看到分支合併圖。
  • 要想看到合併分支的歷史信息,須要加--no-ff參數,在合併分支的時候,不採用快速合併的方式。

git merge --no-ff -m "merge with no-ff" dev日誌

git stash   // 將所作的工做內容先隱藏
git stash list   // 查看有幾個stash
git stash apply   // 恢復工做內容不刪除stash
git stash pop   // 恢復工做內容並刪除stash
git stash apply stash@{0}   // 恢復指定的stash
  • 經過git cherry-pick 版本號能夠把別的分支的提交複製到當前分支。
  • 若是要丟棄一個沒有被合併過的分支,能夠經過git branch -D <branch>強行刪除。

多人協做

  • 查看遠程庫信息:git remote -v
  • 推送遠程主/開發分支:git push origin master/dev
  • 建立遠程開發分支到本地:git checkout -b dev origin/dev

你的小夥伴已經向origin/dev分支推送了他的提交,而碰巧你也對一樣的文件做了修改,並試圖推送,推送失敗,提示git pull,然而也失敗,緣由是:
沒有指定本地dev分支與遠程origin/dev分支的連接:git branch --set-upstream-to=origin/dev devcode

多人協做.png

git rebase操做能夠把本地未push的分叉提交歷史整理成直線blog

標籤管理

打新標籤:git tag <name>
查看全部標籤:git tag
給歷史提交打標籤:git tag <tagname> <commmit id>
查看標籤信息:git show <tagname>
能夠指定標籤信息:git tag -a <tagname> -m "blablabla..."
刪除標籤:git tag -d <tagname>
推送標籤到遠程:git push origin <tagname>
推送全部標籤:git push origin --tags 教程

刪除遠程標籤:
先刪本地:git tag -d <tagname>
在刪遠程:git push origin :refs/tags/<tagname>

相關文章
相關標籤/搜索