学习廖雪峰的Git教程随笔

1.创建版本库

  git init

  git add <file> 或 git add .

  git commit -m "<message>"  执行成功后:(1)file changed  1个文件被改动 (2)insections 插入两行内容

2.时光机穿梭

  git status   查看工作区状态(是否有文件被修改过)

  git diff   查看修改的内容

3.版本回退

  HEAD表示当前版本  HEAD^上一个    HEAD^^上上个  HEAD~100上100个

  git reset --hard commit:id

  git log  查看提交历史(commit:id),确定回退到哪个版本  git log --pretty=oneline

  git reflog  查看命令历史

4.工作区和暂存区

  工作区(Working Directory):电脑力能看到的目录(如learngit文件夹)

  版本库(Repository):.git隐藏目录中,即Git版本库,里面有:(1)stage暂存区  (2)分支master  (3)指向master的指针HEAD

5.管理修改

  git add <file>之后再git commit 或 git add <file>、git add <file>...再git commit 

  没有git add(添加)到暂存区的修改,git commit 时是不会提交的

6.撤销修改

  git checkout --<file>  撤销工作区的修改  git restore <file>

  git reset HEAD <file>   撤销暂存区的修改  git restore --staged <file>

  git reset --hard commit:id  撤销提交到版本库的修改

7.删除文件

  git rm <file>  删除版本库中文件

  rm <file>  删除工作区文件

8.远程仓库

  创建SSH Key:ssh-keygen -t rsa -C "youremail@example.com"

  id_rsa文件和id_rsa.pub文件

9.添加远程仓库(已有本地仓库)

  git remote add origin git@...  关联远程仓库

  git push -u origin master  初次关联远程仓库后用,以后就用git push

10.从远程仓库克隆(先有远程仓库,再创造本地仓库)

  git clone  git支持多种协议:http(s)、ssh  ssh协议速度最快

  第一次克隆-->SSH警告-->Are you sure you want to continue(yes/no)?-->输入yes

11.创建与合并分支

  git branch  查看本地分支    git branch -a  查看所有分支

  git branch <name>  创建分支

  git checkout <name> / git switch <name>  切换分支

  git checkout -b <name> / git switch -c <name>  创建并切换分支

  git branch -d <name>  删除分支

  git merge <name>  合并某(name)分支到当前分支

12.解决冲突

  在不同分支修改同一文件,自动合并(merge)时会产生冲突,无法自动合并分支,必须解决冲突

  解决冲突:git合并失败的文件手动编辑为统一符合要求的,再提交

  git log --graph  分支合并图

  git log --graph --pretty=oneline --abbrev-commit  处理分支合并图的显示格式

13.分支管理策略

  Fast forward模式:合并历史无分支

  普通模式(禁用fast forward):合并历史有分支

  git merge --no-ff <name>  普通模式合并

14.Bug 分支

  git stash  存储现场工作

  git stash list  查看存储的现场工作

  git stash pop  恢复现场工作并删除存储

  git stash apply( stash @{o} )恢复指定的stash

  git stash drop  删除存储

  git cherry-pick <commit:id>  bug提交的修改复制到当前分支

15.Feature分支

 

最后,补充介绍git flow工作流管理:

  功能开发 Feature  git flow feature start <branch-name>  git flow feature finish <branch-name>

  推送远程  git flow feature publish <branch-name>  git flow feature pull origin <branch-name>

  版本管理 Releases  git flow release start <Version-No.>  git flow release finish <Verson-No.>

  Bug修复 Hotfix  git flow hotfix start <branch-name>  git flow hotfix finish <branch-name>

 

  

posted @ 2021-10-11 15:04  simonalwayson  阅读(63)  评论(0)    收藏  举报