git命令深究

笔者深受git的苦,之前提交代码因为使用idea的原因git一直出现问题,切换分支导致缺类什么的问题数不胜数。在备受摧残之后选择以后都使用git命令行的方式来使用git,整理了git命令的一些方法,当然最简单的方法还是git --help

环境配置

首先需要知道的是,git的配置文件都是在~/.gitconfig 中,也就是说你保存的配置都会存在这个文件里。

获取git仓库通常有两个方式

  1. 在本地初始化一个git仓库 git init
  • 初始化后会在当前目录中看到.git文件夹(为隐藏)
    • 此.git文件是一个版本库,其中存储了配置信息、日志信息和文件版本信息
    • 包含.git的目录就是工作目录,主要用于存放开发的代码
    • .git中的index文件是暂存区(stage),暂存区是一个临时保存修改文件的地方
  1. 从远程仓库克隆 git clone

在安装git之后,设置用户名以及email,git每次提交都会附带这俩信息

#设置用户信息
git config --global user.name “$name”
git config --global user.email “$email”
#查看配置信息
git config --list
git config user.name
git工作概念
本地仓库

工作区通过git add添加到暂存区,之后通过git commit提交改变到版本库

同时,git工作目录下文件的两种状态

  • untracked未跟踪(没用版本控制)
  • tracked已跟踪(纳入版本控制)
    • Unmodified 未修改状态
    • Modified 已修改状态
    • Staged 已暂存状态

文件状态会随着执行git的命令发生变化

  1. 查看文件状态

git status

也可以后面加 -s 使输出信息更加简洁

  1. 将未跟踪的文件加入暂存区

git add

后面跟文件名称,带后缀,将新创建的文件加入暂存区后查看文件状态可发现新增

在idea的表现就是类是绿色

idea当你添加类的时候会自动将文件加入暂存区中

  1. 将暂存区的文件取消

git reset

没有在暂存区的文件表现是红色

  1. 将暂存区的文件提交修改到本地仓库

git commit

没啥好说的,就是提交到本地仓库,如果不pull就还有一切可能,如果pull了就寄了

  1. 删除文件

git rm

工作区的文件删了就删了,删除之后也是需要提交到本地仓库才算是一个git的流程

  1. 忽略列表

有时候我们需要有一些文件无需纳入Git的管理,也不希望他们出现在未跟踪文件列表,一般这些都是自动生成的日志文件,编译过程中的临时文件等,此时可以在工作目录中创建一个.gitignore的文件,里面可以存放这些忽略的文件名


# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# only ignore the TODO file in the current directory, not subdir/TODO
/TODO
# ignore all files in the build/ directory
build/
# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt
# ignore all .pdf files in the doc/ directory
doc/**/*.pdf
  1. 查看日志记录

git log

没啥好说的,挑实习生毛病的利器

远程仓库
  1. 查看已经配置的远程仓库服务器

git remote

他会列出指定的每一个远程服务器的简写,如果已经克隆了远程仓库那么就能看到origin,这是默认名字

  1. 添加远程仓库

git remote add <shortname> <url>

添加一个新的远程 Git 仓库,同时指定一个可以引用的简写

  1. 克隆代码

git clone

你什么git语句都可以不会,但是唯独不能不会这个

  1. 移除无效的远程仓库

git remote rm

移除远程仓库的记录,但是不会真正影响到远程仓库

  1. 从远程仓库中抓取和拉取

git fetch 是从远程仓库获取最新版本到本地仓库,不会自动merge

git pull 是从远程仓库获取最新版本并merge到本地仓库

  1. 推送到远程仓库

git push [remote-name] [branch-name]

git分支管理

所有的版本控制工具都需要一个很重要的东西:分支

使用分支把你的工作从开发主线上剥离,到最后要上线的时候直接合并,不影响别人开发的同时也可以查看别人的开发进度,协同工作

  1. 查看分支

git branch 列出所有本地分支

git branch -r 列出所有远程分支

git branch -a 列出所有本地和远程分支

  1. 创建分支

git branch $name

  1. 切换分支

git chechout $name

  1. 推送至远程仓库分支

git push $origin $master

  1. 合并分支

git merge $name

  1. 删除分支

git branch -d 分支的名称

git标签
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值