git的使用

我的github:https://github.com/shihunguilai/learngit

1.安裝git

sudo apt install git

2.git的設置

git config --global user.name "your name"
git config --global user.email "your email"
git config core.ignorecase false  #git 使其對文件名大小寫敏感
git config --list

3.在本地建立倉庫

mkdir learngit
cd learngit
git init
touch readme.txt #建立測試文件
vim readme.txt #輸入測試內容

把文件加入倉庫
git add readme.txt

把文件提交到倉庫
git commit -m "sth."

修改readme.txt
vim readme.txt

查看倉庫當前的狀態(tài)
git status

查看文件的修改內容
git diff readme.txt

提交修改
git commit -m "sth."

顯示提交的歷史記錄
git log
git log --pretty=oneline #一行顯示

4.git版本重置、回退

版本回退

  • head表示當前版本

  • head^表示上一個版本

  • head^^表示上兩個版本

  • head~100表示當前往上100個版本

  • 用git log查看提交歷史,以便會退到某個版本

  • 用git reflog查看命令歷史,可以回到未來的哪個版本

  • 重置到某一個版本

git reset --hard commit_id

  • 查看工作區(qū)和版本庫里最新版的區(qū)別:

git diff HEAD -- readme.txt

管理修改

  • git管理的是修改,不是文件
  • git add file #把工作區(qū)文件修改提交到暫存區(qū)stage
  • git commit -m 'commit desc word' #把暫存區(qū)修改提交到分支上

撤銷修改

修改了工作區(qū)的文件內容,沒有添加到暫存區(qū),想直接丟掉修改

  • git checkout -- filename

修改了工作區(qū)的文件內容,并且添加到了 暫存區(qū),想丟掉修改,要2步

  • git reset head file #撤掉暫存區(qū)修改到工作區(qū)
  • git checkout -- file #撤掉工作去修改

刪除文件

在工作去新建test.txt文件

touch test.txt
git add .
git commit -m "sth."

要刪除版本庫中的文件
git rm/add test.txt
git commit -m "remove sth."

刪錯了,因為版本庫還有,可以吧誤刪的文件到最新版
git checkout -- test.txt

git checkout其實是用版本庫里的版本替換工作區(qū)的版本,無論工作區(qū)是修改還是刪除,都可以“一鍵還原”

5.遠程倉庫

  • 創(chuàng)建ssh key ssh-keygen -t rsa -C "your email@xx.com"

  • 把 ~/.ssh/id_rsa.puh 文件的內容 添加到 github 上面的 add ssh key

  • 測試是否 添加成功 ssh -T git@github.com

  • 在github上建立learngit倉庫

6.關聯(lián)本地倉庫

git remote add  origin    git@github.com:shihunguilai/learngit.git
git remote set-url origin git@github.com:shihunguilai/learngit.git
git pull  origin master
git push  origin master


7.分支管理

  • 查看分支 git branch
  • 創(chuàng)建分支git branch dev
  • 切換分支git checkout dev
  • 創(chuàng)建并且切換分支git checkout -b dev
  • 刪除分支 git branch -d dev
  • 合并分支并且生成一個提交 git merge dev --no-ff -m 'sth.'
  • bug分支
    • git stash隱藏當前修改,使工作區(qū)干凈
    • git stash list 查看所有被隱藏的現(xiàn)場
    • 恢復現(xiàn)場但是不銷毀stash git stash apply
    • 刪除stash git stash drop
    • 恢復并且刪除現(xiàn)場 git stash pop
    • 保存有多個現(xiàn)場場,恢復 git stash apply stash@{0}
  • 刪除一個沒有被合并的分支git branch -D brname
  • 創(chuàng)建遠程分支 git push origin dev:dev把本地的遠程分支創(chuàng)建到遠程
  • 刪除遠程分支 git push origin :dev
  • 建立本地分支和遠程分支的關聯(lián)git branch --set-upstream-to=origin/<branch> dev
  • 查看遠程庫信息,使用git remote -v;
  • 基于遠程跟蹤分支創(chuàng)建本地分支 git checkout --track -b refactored origin/refactored, --track 在新版git中可以省略
  • 查看本地2個分支的區(qū)別 git diff branch1 branch2

8.創(chuàng)建git別名

  • 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 --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

9.git標簽

  • 創(chuàng)建標簽
  • 新建一個標簽,默認為HEAD git tag v1.0,也可以是一個commit——id
  • 查看所有標簽 git tag
  • 查看tag信息:git show v1.0
  • git tag -a <tagname> -m "描述信息..."可以指定標簽信息;
  • 操作標簽
  • 刪除本地的tag git tag -d tagname
  • 推送一個本地標簽到遠程 git push origin <tagname>
  • 推送所有tag到遠程 git push origin --tags
  • 刪除一個遠程標 簽 git push origin :refs/tags/<tagname>

10.git fetch /git merge

不要用git pull,用git fetch和git merge代替它

  • 從遠端的源倉庫更新到本地的代碼倉庫 git fetch origin
  • 看看本地分支和遠程分支的差異 git diff master origin/master
  • 合并到本地分支 git checkout master ; git merge origin/master
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.設置 初次使用需要設置姓名和郵箱git config --global user.name "git用戶名"g...
    jrg陳咪咪sunny閱讀 827評論 0 1
  • 版本庫 什么是版本庫呢?版本庫又名倉庫,英文名repository,你可以簡單理解成一個目錄,這個目錄里面的所有文...
    破曉霜林閱讀 358評論 0 1
  • 一、Git是什么呢? Git是目前世界上最先進的分布式版本控制系統(tǒng)。那什么是版本控制系統(tǒng)?簡單的點就是控制每次修改...
    奔跑的時間閱讀 717評論 0 2
  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,833評論 4 54
  • Git和Github學習 1.創(chuàng)建版本庫 安裝git,至于這個話題就不細說了,按照你電腦的操作系統(tǒng)下載一個合適的g...
    郭子web閱讀 430評論 0 0

友情鏈接更多精彩內容