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学习的主要内容,如果未能解决你的问题,请参考以下文章