Git
如下是我学习廖雪峰老师的git教程整理的知识点总结,比较全,应付日常的工作需要应该够用了,除此以外,如需需要上面的git思维导图,可微信公众号关注哔哗回复关键字git可获取,非百度网盘文件,直接在线下载就可以,很快的哦)在这里发不了。



Git

git介绍

1.由Linus用C语言编写.

2.分布式版本控制系统

3.集中式版本控制系统 CVS,SVN缺点:

缺点:更新速度慢,必须联网.

4.集中式版本控制系统工作原理:

1.版本库放在中央处理器.
2.处理数据时:先从中央处理器获取数据,个人处理完数据后,再传送到中央处理器.

5.分布式版本控制系统工作原理:

1.去中心化.
2.每一个主机都是一个版本库.
3.无需联网,除非主机之间需要相互传送文件.

git常用命令

1.git config 用来获取并设置存储库或者全局选择.

  • 查看用户名和邮箱.

    • git config --global user.name.
    • git config --global user.email.
  • 修改用户名和邮箱.

    • git config --global user.name user.
    • git config --global user.email email.

2.git init 文件名

  • 把当前文件夹或目录设置为git可以管理的仓库.
  • .git 文件用来管理跟踪版本库.

3.将文件添加到暂存区

  • git add 文件名.

4.将当前在暂存区的所有文件提交到版本库

  • git commit 文件名.
  • -m参数::对要提交的文件进行说明.
  • 多次上传add,一次提交commit.

5.查看工作区和暂存区的文件状态

  • git status.

6.查看工作区和版本库最新文件的差异

  • git diff 文件名.
  • git diff HEAD – 文件名.

7.查看commit历史

  • git log.
  • –pretty=oneline 简化commit历史记录.

8.回退到某个版本

  • git reset --hard commit ID .

9.撤销暂存区文件的修改

  • git reset HEAD 文件名

9.查看命令历史

  • git reflog.

10.撤销工作区文件的修改(包括删除)

  • 删除版本库里的文件.

11.删除版本库文件

  • git rm 文件名
  • rm 删除工作区的文件,前面不带git.
  • 删除版本库里的文件后需要commit.

git远程仓库

1.生成SSHKey

  • ssh-keygen -t rsa -C “user@example.com”.
  • id_rsa 私钥,id_ras.pub公钥.

2.为GitHub设置SSHKey的原因

  • 确保仓库内容的推送是本人推送.

3.GitHub作为远程仓库的两个好处

  • 作为远程同步仓库,备份本地仓库.
  • 通过GitHub方便多人协同工作.

4.关联本地仓库和远程GitHub仓库

  • 两种关联方式:

    • git remote add origin git@github.com:用户名/ 仓库名.git.
    • git remote add origin https://github.com/用户名/仓库名.git

5.推送内容到仓库

  • 把当前分支推送到远程仓库对应分支.

    • git push -u orign master.
  • 加-u 参数 是为了把本地仓库master分支与远程仓库master分支关联起来,此后再次推送不再需要加-u参数,简化命令.

  • 把本地未push分叉提交历史整理成直线

    • git rebase

6.从远程库克隆到本地

  • 两种克隆方式:

    • git clone git@github.com:用户名/仓库名.git.
    • git clone https://github/用户名/仓库名.git.
  • 查看远程库信息

    • git remote
    • git remote -v
  • 删除远程库

    • git remote rm 远程仓库名
  • git支持多种协议,但相比于https,git协议最快.

git分支管理

1.HEAD只指向分支,而且仅指向当前分支,master是主分支,指向提交点.

2.分支合并的原理

  • 让master分支指向与已修改提交分支相同的提交点.

3.创建分支

  • 创建分支并切换

    • git checkout -b分支名称.
    • git switch -c 分支名称.
  • 如果分支存在则表示切换分支,否则就是创建新分支

    • git checkout 分支名称 .
    • git switch 分支名称.

4.查看所有分支及当前分支

  • git branch

5.分支合并

  • git merge 分支名称.

6.分支删除

  • git branch -d 分支名称 .
  • git branch -D 分支名称 (强制删除分支).

7.查看分支合并提交历史

  • git log --graph --pretty=oneline --abbrev-commit.

7.fast forward模式

  • 分支的默认模式为fast-forward模式,删除分支后不保留分支信息.

  • 如想保留分支信息,可使用如下命令

    • git merge --no-ff -m "分支合并说明 " 分支名称.
    • –no-ff 表示禁用fast-forward模式,-m 表示对被合并分支进行说明.

8.分支工作现场保存

  • 保存当前分支工作现场

    • git stash .
  • 查看保存的分支现场

    • git stash list.
  • 仅恢复分支

    • git stash apply.
  • 删除分支

    • git stash drop.
  • 恢复分支并删除

    • git brash pop.
  • 把修复的分支bug合并到当前分支

    • git cherry-pick < commit id >

9.抓取远程库最新提交

  • git pull.
  • 创建本地分支与远程分支的关联。 git branch --set-upstream-to=origin/dev dev.

git标签管理

1.在git中打标签是为了管理各个历史版本,便于寻找

2.创建标签(默认打在最新提交上)

  • git tag 标签名

3.查看所有标签

  • git tag

4.给历史某个版本打标签

  • git tag -a 标签名 -m" 说明" 提交commitid
  • -a 指定标签名 -m指定标签说明

5.查看标签信息

  • git show 标签名

6.删除标签

  • git tag -d 标签名

7.推送标签到远程库

  • 推送单个标签

    • git push origin 标签名.
  • 一次性全部推送

    • git push origin --tags
  • 从本地删除标签

    • git tag -d 标签名
  • 从远程删除标签

    • git push origin :refs/tags/标签名

git自定义

1.创建 .gitignore文件

  • 在window中通过文本编辑器创建

2.查看.gitignore文件的过滤规则

  • git check-ignore -v 文件名

3.为git命令配置别名

  • git config --global alias.别名 原名

4.删除别名

  • 查看.gitconfig配置文件并删除相对应的行

    • cat .gitconfig.
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐