学习Git的自我总结

606 阅读3分钟

前言

这是我参与8月更文挑战的第3天,活动详情查看:8月更文挑战

自我学习,仅供参考

image.png

Git、GitHub、Gitee

很多人喜欢把Git和GitHub或Gitee进行比较,他们认为都是Git开头的,以为都是一类的东西,其实Git不应该和GitHub和Gitee进行比较。

Git是一个分布式版本控制系统,在Git中参与项目的每个程序员不仅能拥有文件的当前状态,还能拥有项目完整的历史记录。

什么是分布式?

  1. 它就没有中央服务器的,每个人的电脑就是一个完整的版本库,并且可以不用联网;
  2. 相比于集中式版本控制系统,安全性更高,每个人都有完整的版本库,一台电脑出现问题,只需从别的电脑复制一下版本库就好。

GitHub是国外开源的软件项目托管平台,而Gitee(码云) 是国内的,它们都是远程仓库,数据在云端,它们的使用需要借助Git

配置git

  1. 下载并安装git

  2. github.com 或 gitee.com 注册账号 --> 验证邮箱

  3. 配置用户名 git config --global user.name 'XXX'

  4. 配置邮箱 git config --global user.email 'xxx'

  5. 查看信息 git config --list

image.png

初始化仓库

  1. 初始化仓库 git init

  2. 创建一个index.html文件

  3. cat index.html查看文件内容

  4. git status查看文件状态

  5. git add . 或者 git add index.html 添加文件到暂存区

  6. git commit -m 'XXX'

image.png

文件状态

image.png

常用命令

本地

  1. git reset HEAD XXX 暂存区与版本区一致

  2. git checkout XXX暂存区覆盖工作区

  3. git m XXX --cached 删除暂存区的文件

  4. git commit -a -m 'XXX' git add .和 git commit -m 'XXX'的缩写

  5. git reflog查看引用版本号

分支

  1. git branch 查看本地分支

  2. git branch -r 查看远程分支

  3. git branch XXX 创建分支(不会自动在新建分支上)

  4. git checkout XXX 切换分支

  5. git checkout -b XXX 创建并切换到XXX分支

  6. git merge XXX 把XXX分支合并到当前分支

  7. git branch -d XXX 删除分支

  8. git merger --abort 放弃解决冲突,取消merge

远程同步

  1. git fetch [remote] 下载远程仓库的所有变动

  2. git remote -v 查看所有远程仓库

  3. git pull [remote] [branch] 拉取远程仓库

  4. git push [remote] [branch] 推送到远程仓库

  5. git push [remote] --force 强行推送到远程仓库(即使有冲突)

  6. git push [remote] --all 推送所有分支到远程仓库

撤销

  1. git reset [file] 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变

  2. git reset --hard 重置暂存区与工作区,与上一次commit保持—致

  3. git reset [ commit] 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变

  4. git reset -—hard [ commit] 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致