Git 学习笔记

579 阅读2分钟
一.Git是什么:分布式版本控制系统
  1. git对比svn;svn是集中式版本控制系统
二.Git工作机制

image.png

三.Git常用命令
  1. 创建仓库 git init
  2. 设置用户签名
git config --global user.name "name"
git config --global user.email "email

2.git add

  • 把文件夹下的index.txt文本放在暂存区 $ git add index.txt
  • 把文件夹下的ceshi文件夹放在暂存区(暂存区不能放空文件夹) $ git add ceshi/
  • 把文件夹下的所有文件添加到暂存区 $ git add . $ git add --all

3.git commit

  • 把暂存区的内容放到历史区 $ git commit -m "注释"
  • 查看当前历史区版本信息 $ git log

4.git reset

image.png

  • 回退到上一次提交的版本 $ git reset --hard HEAD^
  • 回退到上上次提交的版本 $ git reset --hard HEAD~2
    • 使用--soft就仅仅将头指针恢复,已经add的暂存区以及工作空间的所有东西都不变。
    • 如果使用--hard,那么一切就全都恢复了,头变,aad的暂存区消失,代码什么的也恢复到以前状态。
  • 查看操作记录 $ git reflog

5.git revert

git revert是用于“反做”某一个版本,以达到撤销该版本的修改的目的。比如,我们commit了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西

image.png

四. Git分支
  • 查看当前属于哪个分支 $ git branch -a

  • 创建分支 $ git branch dev

  • 切换分支 $ git checkout dev

  • 合并分支 $ git merge dev

  • 删除本地分支 $git branch -D

五.远程仓库
  • 添加远程仓库git remote add origin your_remote_git_repo
  • 推送本地的内容到远程仓库
    • 将本地 master 分支推送到 origin 远程分支
      git push -u origin master
      git push origin master

第一次使用时,带上 -u 参数,再将本地的 master 分支推送到远程新的 master 分支的同时,还会把本地的 master 分支和远程的 master 分支关联起来

  • 从远程仓库获取最新内容
    git fetch origin master
    git pull origin master
    • git fetch 和 git pull 之间的区别:

    • git fetch 是仅仅获取远程仓库的更新内容,并不会自动做合并。

    • git pull 在获取远程仓库的内容后,会自动做合并,可以看成 git fetch 之后 git merge

  • 查看远程仓库信息git remote [-v]
  • 删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支
    git push origin :master