Git基本使用

参考:廖雪峰Git教程

基本使用

  • 安装gitsudo apt-get install git
  • 入门使用
git clone https://github.com/scut-githuber/os-util.git # clone repository到本地
cd gitDir
git init # 初始化空的Git仓库repository
git add filename # 将文件添加到repository
git add -A # 添加所有文件到repository
git commit -m "wrote a readme file" # 提交并写提交说明
git status # 查看已修改文件
git diff filename # 查看filename被修改的内容
git log [--pretty=oneline]# 查看提交日志
git reset --hard HEAD^ # 滚回上一版本
git reset --hard 3628164 # 指定ID回滚或者重做,`3628164`是commit id,git自动补全
git reflog # 查看命令历史,可以查看各个版本的commit id
git checkout -- name # 让这个文件回到最近一次git commit或git add时的状态。
git reset HEAD filename # 将filename从暂存区退回工作区

工作区和暂存区

  • 工作区:工作目录,如gitDir
  • 版本库:工作区中的隐藏目录.git 工作区与版本库

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

撤销修改

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,在没有推送到远程库的前提下,git reset --hard HEAD^滚回上一版本。

误删与恢复

git checkout -- test.txt

  • git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

分支使用

  • git branch:查看分支
  • git branch <name>:创建分支
  • git checkout <name>:切换分支
  • git checkout -b <name>:创建并切换分支
  • git merge <name>:合并某分支到当前分支
  • git merge --no-ff -m "merge with no-ff" <name>:强制禁用Fast forward模式,不丢掉分支信息
  • git branch -d <name>:删除分支

bug分支

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

  • git stash:"储存"当前工作现场
  • git stash list:查看已储存现场
  • git stash apply:恢复现场
  • git stash pop:恢复现场并产出储存

JetBrains系列使用git

小结

  • 先在GitHub上建好repository,git clone 到本地
  • 鼓励大量使用分支
  • 通过创建bug分支的方式来修复bug
  • 开发一个新feature,最好新建一个分支

results matching ""

    No results matching ""