git学习

Posted 7fancier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git学习相关的知识,希望对你有一定的参考价值。

git说明书

https://www.liaoxuefeng.com/

常见命令

  • git init 创建版本库

  • git add readme.txt 把文件添加到仓库
  • git commit -m "wrote a readme file" 把文件提交到仓库
  • git status命令看看结果:
  • git diff 查看difference
  • git log命令显示从最近到最远的提交日志
  • HEAD表示当前版本 上一个版本就是HEAD^,上上一个版本就是HEAD^^ 上100可以写成HEAD~100
  • git reset --hard HEAD^ 回退到上个版本
  • git log 再看看现在版本库的状态
  • git reset --hard 版本号 回退到制定版本 版本号没必要写全,前几位就可以
  • Git提供了一个命令git reflog用来记录你的每一次命令
  • git checkout -- file可以丢弃工作区的修改:
  • git reset HEAD
  • 一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
  • git checkout -- file其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
  • git remote add origin [email protected]:7fancier/learngit.git
  • git push -u origin master 用git push命令,实际上是把当前分支master推送到远程。
  • 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
  • git push origin master 第二次提交
  • $ git clone [email protected]:fancier/learngit.git clone项目
  • git checkout -b dev 创建并切换到dev
  • git branch dev 创建分支
  • git checkout dev 切换分支
  • git branch 查看分支状况
  • git merge dev把dev分支的工作成果合并到master分支上
  • git branch -d feature1 删除分支
  • 用git log --graph命令可以看到分支合并图。
  • git merge --no-ff -m "merge with no-ff" dev 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
  • 修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

  • 当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
  • git stash list 查看保存的工资现场
  • git tag
  • git tag查看所有标签:
  • git show
  • git log --pretty=oneline --abbrev-commit 找到历史提交的commit id
  • git tag v0.9 f52c633 补打标签
  • git tag -a v0.1 -m "version 0.1 released" 1094adb
  • 命令git push origin
  • 命令git push origin --tags可以推送全部未推送过的本地标签;
  • 命令git tag -d

  • 命令git push origin :refs/tags/

特性

  • Git跟踪并管理的是修改 删除feature1分支:
  • 在GitHub上,可以任意Fork开源仓库;

  • 自己拥有Fork后的仓库的读写权限;

  • 可以推送pull request给官方仓库来贡献代码。

以上是关于git学习的主要内容,如果未能解决你的问题,请参考以下文章

git学习总结

Git学习——Git分支篇(未完)

Git系列学习-Git安装

git学习笔记

天天都在用Git,那么你系统学习过吗?学习过程

学习git