Git 应用小记

git安装

# 需要root权限
# 卸载old版本
yum remove git

# 安装一些依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

# 下载新版本Git压缩包,下载的版本可指定
wget --no-check-certificate https://www.kernel.org/pub/software/scm/git/git-2.37.7.tar.gz

# 解压Git压缩包
tar xzf git-2.37.7.tar.gz && cd git-2.37.7

# 编译
make prefix=/usr/local/git all
make prefix=/usr/local/git install

# 添加环境变量
echo "export PATH=$PATH:/usr/local/git/bin" >> ~/.bashrc # 或者 ~/.zshrc
source ~/.bashrc # 或者 ~/.zshrc

提交code

# 拉取最新代码
git pull
git pull --rebase
git pull origin xxx_branch # 从远程仓库(origin)拉取(fetch)并合并(merge)指定分支(xxx_branch)的最新更改到你的当前工作分支

# 第一次代码提交
git add .
git commit -m "icafe编号 提交注释xxx" # 字符串由两部分组成:icafe编号从icafe里面复制,xxx为提交注释
git push origin HEAD:refs/for/master # HEAD表示本地分支名,比如也可以为分支:glm_ner

# 修改检查错误后再次提交
git add .
git commit --amend --no-edit
git push origin HEAD:refs/for/master

# 回到之前版本(注意:代码先备份!)
git reset --hard origin/master

git reset

  1. 3种模式

    • --soft:将HEAD引用指向给定提交,索引(暂存区)和工作目录的内容不变

    • --mixed(默认,可不写):将HEAD引用指向给定提交,索引(暂存区)的内容改变,工作目录的内容不变。这个命令会将索引(暂存区)变成你刚刚暂存该提交全部变化时的状态,会显示工作目录中有什么修改

    • --hard:将HEAD引用指向给定提交,索引(暂存区)和工作目录的内容都会变成给定提交时的状态。也就是在给定提交后所修改的内容都会丢失(新文件会被删除,不在工作目录中的文件恢复,未清除回收站的前提)

      模式 / 影响HEAD索引(暂存区)工作目录
      –soft
      –mixed
      –hard
  2. 回滚版本的写法

    • 当前版本:HEAD
    • 上1个版本:HEAD^HEAD~1
    • 上2个版本:HEAD^^HEAD~2
    • 通过change-id来指定版本:7bae2d0c3e9f59173703ded70f4f39fe96143139
  3. 示例

    • git reset --soft HEAD^
    • git reset --soft 7bae2d0c3e9f59173703ded70f4f39fe96143139

git stash

  • 暂存工作区

常用命令

# 查看目前的文件状态,暂存区
git status
# 查看历史
git log
git relog

# 版本回滚
git reset --hard HEAD^   # 回滚到上1个版本
git reset --hard HEAD^^  # 回滚到上2个版本
git reset --hard HEAD~10 # 回滚到上10个版本?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值