Git 知识总结【git】

176 阅读5分钟

Git

git 初始化

初始化

  1. 作用:初始化 git 仓库,想要使用git对某个项目进行管理,需要 git init 进行初始化

  2. 分区

    • 工作区

      我们书写代码的地方,工作的目录就叫工作区。

    • 暂存区

      暂时存储的区域,在 git 中,代码无法直接从工作区提交到仓库区,而是需要先从工作区添加到暂存区,然后才能从暂存区提交到仓库区。暂存区的目的是避免误操作,记录 Git 操作。

    • 仓库区

      将保存在暂存区域的内容永久转储到 Git 仓库中,生成版本号。生成版本号之后,就可以任何的回退到某一个具体的版本。



git 基本命令

git status

  1. 作用:查看文件的状态
  2. 命令: git status
    • 红色表示工作区中的文件需要提交
    • 绿色表示暂存区中的文件需要提交
  3. 编辑器中的标识
    • U:未被追踪的文件,说明当前文件还没有 add
    • A:已经执行了 git add ,但是还没有 commit 到仓库
    • M:文件被修改,但是还没有add
    • C:conflict ,文件冲突

git add

  1. 作用:将文件由 工作区 添加到 暂存区,在 git 中,文件无法直接从工作区直接添加到仓库区,必须先从工作区添加到暂存区,再从暂存区添加到仓库区。

  2. 命令:git add .

    注意:

    空的文件夹是会被忽略掉的,如果想要提交这个文件夹,一般会在该目录下创建一个 .gitkeep 文件。

git commit

  1. 作用:将文件由 暂存区 添加到 仓库区,生成版本号

  2. 命令:git commit -m "提交说明"

    注意:

    如果不写提交说明,会进入vi编辑器,没有写提交说明,是提交不成功的。

git log

作用:查看提交日志

  • git log 查看提交的日志
  • git reflog 查看所有日志(被回退的日志)

git 对比

git diff:可以查看每次提交的内容的不同

  • 查看工作区与暂存区的不同
    git diff
    
  • 查看暂存区与仓库区的不同
    git diff --cached
    
  • 查看工作区与仓库区的不同,HEAD 表示最新的那次提交
    git diff HEAD
    
  • 查看两个版本之间的不同
    git diff c265262 de4845b
    


git 重置

  1. 作用:版本回退,将代码恢复到已经提交的某一个版本中。
  2. 命令
    git reset --hard 版本号
    
    • 将代码回退到某个指定的版本(版本号只要有前7位即可)
    • 当使用了 git reset 命令后,版本会回退,使用 git log 只能看到当前版本之前的信息。使用 git reflog 可以查看所有的版本信息。


git 忽略文件

  1. 作用:让一些私人文件、下载的包等不想被git管理的文件被git忽视掉,这样就不用提交
  2. 步骤
    • 在仓库的根目录创建一个 .gitignore 的文件,文件名是固定的。
    • 将不需要被git管理的文件路径添加到 .gitignore
    • 一定要先添加好忽略文件,再添加对应的文件,如果文件已经提交了,则再添加忽略文件是不生效的
  3. 命令
    • 忽视 idea.txt 文件:idea.txt
    • 忽视 css 下的 index.js 文件:css/index.js
    • 忽视 css 下的所有的 js 文件:css/*.js
    • 忽视 css 下的所有文件:css/*.*
    • 忽视 css文件夹:css


git分支操作

创建分支

  1. 创建分支,分支中的代码,在创建时与当前分支的内容完全相同。
  2. 命令:
    git branch 分支名称
    

查看分支

  1. 在当前分支的前面会有一个*
  2. 命令:
    git branch
    

切换分支

  1. 在当前分支的任何操作,都不会影响到其他的分支,除非进行了分支合并。
  2. 提交代码时,会生产版本号,当前分支会指向最新的版本号。
  3. 命令:
    git checkout 分支名称
    

创建并切换分支

  1. 切换分支会做两件事情
    • 创建一个新分支
    • head 指针指向当前的分支
  2. 命令:
    git checkout -b 分支名称
    

删除分支

命令

git branch -d 分支名称

注意:

不能在当前分支删除当前分支,需要切换到其他分支才能删除

合并分支

  1. 将其他分支的内容合并到当前分支。在合并之前需要先切换到 master 分支上
  2. 命令:
    git merge 分支名称
    
  3. 合并完毕后再 push 一次。

注意:

如果有同学在这之前已经上传或合并过一次,那此时仓库和自己本地的代码不一致,需要先 get pull 拉取代码,保证代码一致,再 git push 上传。

合并冲突

  1. 合并分支时,如果出现冲突,只能手动处理,再次提交,
  2. 一般的作法,把自己的代码放到冲突代码的后面即可


git 远程仓库

githubgitee 创建一个在线仓库,复制其 https 地址或 ssh 密钥。

git push

  1. 作用:将本地仓库中代码提交到远程仓库
  2. 命令:
    git push 仓库地址 master
    

    注意

    master 分支必须写,不能省略

git clone

  1. 作用:完整克隆远程仓库的代码到本地
  2. 命令:
    git clone 远程仓库地址
    

git pull

  1. 作用:将远程的代码下载到本地

  2. 命令:

    git pull 仓库地址 master
    

    注意

    master 分支必须写,不能省略

git remote

  1. 作用:每次 push 操作都需要带上远程仓库的地址,非常的麻烦,我们可以给仓库地址设置一个别名
  2. 给远程仓库设置一个别名:
    git remote add 仓库别名 仓库地址
    
  3. 检查是否关联成功:
    git remote -v
    
  4. 第一次 push 到远程库:
    git push -u 别名 master
    
  5. 后续操作:
    git push、git pull
    

总结

Git.png