• 创建仓库

    • 直接 git init将对应目录下一个文件夹变成git仓库
    • 使用git clone从github上克隆一个已经有的项目到指定文件夹

      检查.git文件创建成功,不能直接ls,因为ls不会显示》.git 得使用ls -a显示

  • git仓库包括两种:

    • 本地仓库
    • 远程仓库
  • commit : 提交,将本地文件和版本信息保存到本地仓库

  • push: 推送,将本地仓库和版本信息提交到远程仓库
  • pull : 拉取,将远程仓库文件和版本信息下载到本地文件

  • git GUI : 图形界面

常用命令

使用git

1. 全局设置

1
2
git config --global user.name 你的名字
git confih --global user.email 你的邮箱

查看配置信息:

1
git config --list

  • 上面设置的是git的初始化仓库,和github和gitee等的账号不一样

基本概念

  • 版本库:前面看到的.git隐藏文件夹就是版本库,版本库中储存了配置信息,日志文件,版本信息等
  • 工作区: 包含.git文件夹目录的工作区,也称为工作目录,主要用于存放代码
  • 暂存区: .git文件夹有很多文件,其中一个index文件就是暂存区,也可以叫做stage,是一个临时保存文件的地方

工作区 ——> (git add) 暂存区 ——->(git commit)版本库

1
git add 文件 //支持多个文件同时加入

1
git commit -m '输入提示语' 文件名字

工作区文件状态

git文件工作区分两个状态

  • untracked 未跟踪(未被纳入版本库)
  • tracked 已被跟踪(纳入版本控制)
    1)Unmodified 未被修改状态
    2)Modified 已被修改状态
    3)Staged 已暂存状态
    1
    git status // 查看当前工作区的状态

  • git reset
    1.把暂存区的东西放回工作区
    1
    git reset + 文件//取消对文件的跟踪(从暂存区取消暂存,返回工作区)
    2.回退版本(通过git log 查看版本号)
    1
    git reset --hard 版本号
  • git commit将暂存区的内容提交到版本库
    1
    git commit -m '你这一次提交的修改内容' 你要提交或者修改了的文件

远程仓库操作

git remote//查看远程仓库
git remote -v//查看详细信息

  • 添加远程仓库

    1
    git remote add <short name> <url> //short_name一般是origin
  • 推送:

    1
    git push [remote_name] [branch_name] // 一般remote用origin代替

分支操作

  • git branch 查看分支
  • git branch [ name ] 创建分支
  • git checkout [name] 切换分支
  • git push [short_name】[name] 推送到远程仓库
  • git merge [name] 合并分支(把指定代码合并到当前分支)
  • git branch -d [name] 删除分支

分支查看:

  • git branch 列出所有本地分支
  • git branch -r 列出所有远程分支
  • git branch -a 列出所有本地分支和远程分支

标签

  • git tag 列出已有的标签
  • git tag [name] 创建标签
  • git push [short_name] 【name] 将标签推送到远程仓库
  • git checkout -b [branch] 【name] 检出标签

查看最后一次使用某个文件的某人

1
git log -x 文件名
  • -x是第几次

查看修改摩尔个文件中的collections时的提交信息

git blame , git show
或者使用git log

  • git config: Git 是一个 高度可定制的 工具
  • git clone --depth=1: 浅克隆(shallow clone),不包括完整的版本历史信息
  • git add -p: 交互式暂存
  • git rebase -i: 交互式变基
  • git blame: 查看最后修改某行的人
  • git stash: 暂时移除工作目录下的修改内容
  • git bisect: 通过二分查找搜索历史记录
  • .gitignore: 指定 故意不追踪的文件