Git使用总结


前言

提示:以下是我使用Git命令的总结,部分图有机会补上,欢迎指正。


一、Git是什么?

Git 是一个开源的分布式版本控制系统,相当于远程仓库、代码托管。

二、Git中四个概念

  1. 工作区(worksapce)
  2. 暂存区(stage/index)
  3. 本地仓库 (local repository)
  4. 远程仓库(remote repository)
    图片引用自菜鸟教程
    如上图(引用自菜鸟教程)所示,本地仓库一般为隐藏的.git文件,而暂存区为.git中的index。
HEAD 表示游标指向当前版本
HEAD^ 上一个版本 
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
同理
HEAD~0 表示当前版本
HEAD~1 上一个版本

三、Git常用命令

1.工作区

git diff #查看工作区改动
git add . #添加工作区所有修改到暂存区
git add <文件名> #添加工作区指定文件修改到暂存区
git checkout . #还原版本(即撤销修改或者删除)   先从暂存区还原,无效则从HEAD(分支游标)指向的分支还原,缺省是指向master
git checkout -- <文件名> #添加工作区指定文件修改到暂存区
git checkout HEAD .  #与上条有区别,是直接从HEAD(分支游标)指向的分支还原工作区 和 暂存区的改动
git checkout HEAD <文件名> #会用 HEAD 指向的 master 分支中的部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动

2.暂存区

git diff --cached #查看暂存区改动
git commit -m  #提交到本地仓库 指向的 master分支(HEAD指向谁得分清)
git commit -m"文字说明" #提交到本地仓库并附加名字说明
git commit -am"文字说明" #相当于git add . + git commit -m"文字说明"
git reset HEAD   #从HEAD指向的master中回退暂存区 但是工作区不受影响
git reset HEAD <文件名> #指定回退文件
git rm --cached <文件名>  # 跳过工作区 直接操作暂存区删除某个文件 ,即命令执行后,工作区该文件存在,暂存区该文件删除

3.本地仓库

git push <远程主机名> <本地分支>:<远程分支>  #提交到远程仓库
git remote #查看远程主机名
git status #可以查看你的分支和远程分支名
git reset --soft HEAD^ 回退到上个版本=撤销上次提交  !!!注意 --hard参数会影响工作区、暂存区、local  --soft只影响本地仓库

四、举例

例1

如果你很久未同步代码,需要更新代码,并丢弃工作区、暂存区的所有变动以及未提交,使用

git reset --hard origin/master  #将本地的状态回退到和远程的master分支一样 包括工作区的修改 暂存区修改 以及 本地仓库的未提交 
git reset --hard HEAD <分支名> #回退到xx版本!!注意!!! --hard参数会影响工作区、暂存区、未提交  --soft只影响未提交

例2

如果你很久未同步代码,需要更新代码,并保留工作区、暂存区的所有变动以及未提交,使用

git pull <远程主机名> <远程分支名>:<本地分支名>  #从远程获取代码并合并本地的版本
git fetch 和 git merge FETCH_HEAD #效果和前者类似,上面是简写版
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值