git的基本使用

git的三种工作区域

工作目录<->暂存区<->本地仓库

  • 工作目录
  • 暂存区
  • 本地仓库

文件的四种状态

  • 未追踪untraced
  • 已暂存staged
  • 已提交commited
  • 已修改modified

本地仓库常用命令

  • 初始化本地仓库
    • git init
  • 查看仓库的文件状态
    • git status
  • 把工作目录中的新添加的文件添加到暂存区(把修改后的内容添加到暂存区)
    • git add -- 文件列表(文件之间使用空格隔开)
    • git add * 添加所有文件
    • git add 文件夹名称
  • 把暂存区文件添加到本地仓库
    • git commit 可以直接这样执行,但是会进入vi编辑窗口,此时要写入备注信息
    • git commit -m 备注 (提交所有的暂存文件)
    • git commit -m 备注 文件列表(提交特定的文件)
    • git commit -a -m 备注 (跳过暂存区直接提交)
  • 回滚修改的内容
    • git checkout -- 文件列表 (回滚指定文件)
    • git checkout . (回滚所有的文件)
  • 回滚版本快照
    • git reset --hard
    • git reset --hard HEAD
    • git reset --hard HEAD^
    • git reset --hard commitid (回滚指定的版本快照)
      • 修改版本快照的指向
      • 覆盖暂存区
      • 覆盖工作目录
    • git reset --soft
    • git reset --soft HEAD
    • git reset --soft HEAD^
    • git reset --soft commitid
      • 只修改版本快照的指向
    • git reset
    • git reset --mixed
    • git reset HEAD
    • git reset HEAD^
    • git reset commitid
      • 修改版本快照的指向
      • 覆盖暂存区,不覆盖工作目录

分支操作

  • 创建分支(分支名称不加引号)
    • git branch 分支名称
  • 切换分支
    • git checkout 分支名称
  • 合并分支(把别的分支合并到当前分支)
    • git merge 分支名称
  • 删除分支
    • git branch -D 分支名称 (强制删除分支)
    • git branch -d 分支名称
  • 创建并切换分支(相当于 git branch 分支名称 和 git checkout 分支名称 两个命令的共同作用)
    • git checkout -b 分支名称

远程(共享)仓库

借助一个远程仓库,可以共享代码、历史版本等数据,实现团队成员之间代码同步。

远程仓库操作流程

创建远程仓库

  1. 创建以.git结尾的目录mkdir lml.git
  2. 进入该目录cd lml.git
  3. 初始化共享仓库git init --bare

这样我们就建好了一个共享的仓库,但这时这个仓库是一个空的仓库,并且不允在这个仓库中进行任何修改。

向共享仓库推送内容

将自已开发的项目同步到这个目录中,其它开发者就可以共享你开发的项目了。

  1. 进入自己的项目跟目录 cd demo
  2. git push 远程仓库地址 本地分支名称:远程分支名称
  3. git push -u origin master(-u作用就是建立跟踪分支,只需要第一次使用,后续就不用了,以后就直接git push)

这样demo项目就进入到了共享仓库中

从共享仓库取出内容

  1. 新创建一个目录example(模拟另一个开发者)
  2. 进入该目录cd ./example
  3. git clone lml.git

通过lml.git共享仓库,我们轻松得到了一个demo的副本
git的基本使用

基于克隆下来的项目进行修改

  • 修改内容
  • 提交内容
  • 推送内容

这样便实现了代码的共享,但是,我们发现我们这个共享的仓库只是放到了本地的,其它人是没有办法从我们这个共享仓库共享内容的!!!,那么要想实现共享,我们可以把这个共享的仓库放到一台远程服务器上,问题不就解决了吗?

远程仓库服务GitHub与GitLab

如果我们熟悉服务器的话,我们完全可以将上述的步骤在我们的远程服务器上进行操作,然后再做一些登录权限的设置,就可非常完美的搭建一个共享服务器了。其实为了更好的管理我们的仓库,一些第三方机构开发出了Web版仓库管理程序,通过Web界面形式管理仓库。

GitHub概述

GitHub基本使用

  1. 注册账号
  2. 创建共享仓库

GitHub地址格式

  • https://
    • 获取代码不需要密码
    • 提交代码需要密码
  • git@
    • 需要将自己的公钥添加到GitHub上
    • 获取与提交代码都不需要密码