Git的基础使用方法

94 阅读3分钟

1. 什么是git:

  • git 本地操作(是一个分布式的版本控制系统)
  • 可以帮忙整理代码,并且保证代码不会被丢失(记录历史,只要代码提交到git上就永远不会丢失)
  • 可以随时查看已提交的代码
  • 可以通过pc端,android和 ios移动端,等各个终端来访问,可以随时随地修,公司没做完的事情可以回家接着干
  • 可以团队合作(例如两个人同时修改了一行代码,也可以手动解决冲突,实现自动合并),且可以模块化和组件化
  • git拥有强大的‘’分支‘’管理系统

工作原理:

image.png

2.git特点在哪:

  • git 比较 svn,svn是一个集中式的版本控制系统,且需要一台中央服务器, git则是分布式管理, 每一台电脑相当于一个服务器,git的上传速度比svn要快,而且在svn中,每个文件都有一个文件夹(svn文件夹),文件夹一多就会乱,不易于管理,而git只有一个单独的文件夹(git文件夹)

3.如何使用git:

  • git config --global user.name + "名字" (配置用户)
  • git config --global user.email + "邮箱" (配置邮箱)
  • git config --gloobal --replace-all user.name + "名字"(替换原来的用户名)
  • git config --gloobal --replace-all user.email + "邮箱"(替换原来的邮箱)
  • git config --gloobal --unset  user.name + "原始名字"(删除用户)
  • git config --gloobal --unset  user.name + "原始邮箱"(删除邮箱)

image.png

  • git config --list查看当前用户配置信息(已配置好的在最下面两行可以看到配置信息和邮箱)

image.png

  • 配置好后就需要初始化git (一个项目只能初始化一次,不能嵌套)
  • git init 告诉git哪个文件夹被git所管理

4.常见操作命令

pwd(print working directory) 打印当前用户

  • rm -rf + 文件夹 (删除文件)
  • rm + 文件名 (删除文件)
  • mkdir + 文件名 (创建目录)
  • cd + 目录名 (改变路径)
  • ls -al (展示所有文件列表)
  • touch + 文件名 (创建文件)
  • cat + 文件名 (查看文件内容)
  • vi + 文件名 (修改文件){i: 插入模式  esc 退出编辑  :q! 强制退出  :wq 保存并退出}
  • git rm --cached + 文件名 (删除暂存区)
  • git add  . / -A / + 文件名 (添加到暂存区)
  • git commit -m“本次提交文件说明” (添加到历史区)
  • git log (可以查看版本号,查看历史状态)
  • clear  清除页面已输入内容

git 的对比

  • git diff (工作区和暂存区)
  • git diff + 分支名 (工作区和历史区)
  • git diff --cached (暂存区和历史区的比较)

撤销(缺点是无法再回去),从暂存区中将工作区的内容覆盖掉

  • git checkout + 分支名 (回到上次缓存区的内容)
  • git reset HEAD + 文件名(回退到上一次的缓存区)

回滚历史版本

  • git reflog  查看所有历史版本
  • git reset --hard + 版本号(回到历史版本)

分支管理

  • git branch  (查看所有分支)
  • git branch  +  分支名(创建分支)
  • git checkout + 分支名 (切换分支)
  • git branch -D + 分支名 (删除分支,不能删除已在当前要删除分支里的分支上,添加到历史区此时两个分支就没关系了)
  • git checkout -b  +  分支名 (创建并切换分支,分支有更改不能直接切换,可以提交更改或暂存更改)
  • git stash (暂存文件)
  • git stash pop (还原暂存区内容)
  • 分支有更改不能直接切换,可以提交更改或者暂存更改,暂时使用过渡区覆盖掉。
  • git merge + 分支名(合并分支)

image.png

  • echo "内容" >> + 文件名 (输入文件内容,一个大于号表示写入,两个大于号表示追加)

  • 解决冲突的办法:遇到冲突只能手动去解决,留下想要的结果,再次提交

  • git log --graph (加载轨迹)

  • git log --oneline --graph (加载直线轨迹)