git常用操作

常用知识

首先这里再明确一下,所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。版本控制系统可以告诉你每次的改动,比如在第5行加了一个单词“Linux”,在第8行删了一个单词“Windows”。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片从100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。

  • 初次使用 git 设置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
  • git init

    • 初始化当前所在目录,使之变成一个git可以管理的仓库
  • git add

    • 添加一个文件到git仓库,标记确切
  • git add -A

    • 添加所有文件到git仓库
  • git commit -m <‘message’>

    • 正式提交add后的文件到仓库
    • m 后面是备注信息,必须有这一项
  • git log

    • 查看版本历史
  • git reflog

    • 可以查看从创建开始到现在,所有的git命令,并显示版本gitid
  • git reset HEAD^

    • HEAD指的是当前版本,代表上一个,HEAD^代表上上一个
    • 也可以用gitid来代替HEAD
  • git reset --hard <版本id>

  • 到<版本id>版本

  • git reset HEAD

    • 可以撤销指定文件对暂存区的修改,回到HEAD版本
  • git reset --hard --soft --mixed 区别

    • –hard,会让工作区,暂存区,版本区的HEAD全回到指定的版本
    • –soft,不动工作区和暂存区,只让版本区的HEAD回到指定版本
    • 默认,mixed,只让暂存区回到指定版本状态
    • 如果参数是文件名称,则指定该文件回到该状态,否则是全仓库回到状态
  • git checkout –

    • 会回到最后一次commit或者add时的状态
    • 谨慎,会把你的修改全部撤销的
    • 只对工作区有效
  • git branch

    • 显示所有分支
  • git branch dev

  • git merge dev

    • 当前和dev合并
    • Auto-merging : 这些文件自动合并
    • CONFLICT(content) 文件冲突,修改后提交
  • git checkout dev

    • 切换到dev
  • git log --graph

    • 查看版本历史图形
    • git logq 退出
  • git stash push -m '注释’

    • 隐藏工作现场
  • git stash list

    • 查看工作现场
  • git stash pop

    • 弹出最上面的工作现场
    • 删除现场
  • git stash apply stash@{ }

    • 查看工作现场{}
    • 不删除工作现场

分支合并
  • 查看分支列表
    $ git branch -a

  • 切换到本地dev分支
    $ git checkout dev

  • 更新本地dev 分支
    $ git pull

  • 切换到master 分支
    $ git checkout master

  • 更新 本地master 分支
    $ git pull

  • 合并本地 dev 到 本地master
    $ git merge dev

  • 将本地mater 推到远程master
    $ git push


远程操作

创建 SSH Key

  • 在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
  • 你需要把邮件地址换成你自己的邮件地址,然后一路回车
    ssh-keygen -t rsa -C "youremail@example.com"
    
  • git remote -v
    • 查看本地和远程服务器是否连接
  • git clone <SSH服务器地址>
    • 从远程服务器克隆下来文件
  • git push origin master
    • 将本地的分支master推向远程
  • git pull origin master
    • 将远程服务器上的东西拉下来
    • 和克隆是两码事,克隆是第一次啥都没有的时候,复制服务器上的东西,拉是克隆之后的。
    • 如果服务器和本地没有冲突直接拉下来。如果存在冲突,需要做出修改。

  • 本地仓库初始化远程仓库
    • git init
    • git add -A
    • git commit -m ‘版本名称’
    • git remote add origin <远程服务器地址>
    • git remote -v
      –检查本地是否与服务器建立连接
    • git push -u origin master
      – 初始化远程仓库,只在第一次初始化服务器时加 -u
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值