Git学习笔记

1.Git概述

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

1.1 基本术语

  • Fetch(获取),从远程代码库更新数据到本地代码库。注意:Fetch 只是将代码更新到本地代码库,你需要检出(check out)或与当前工作分支合并(merge)才能在你的工作目录中看到代码的改变。
  • Pull(拉取),从远程代码库更新数据到本地代码库,并与当前工作分支合并,等同于 Fetch + Merge。
  • Push(推送),将本地代码库中已提交(commit)的数据推送到指定的 remote,没有 commit 的数据,不会push
  • HEAD,指向你正在工作中的本地分支的指针
  • Master 分支:主分支,所有提供给用户使用的正式版本,都在这个主分支上发布。
  • Tags(标签):用来记录重要的版本历史,例如里程碑版本
  • Origin:默认的 remote的名称
  • Git clone(克隆版本库):从服务端将项目的版本库克隆下来
  • Git init(在本地初始化版本库):在本地创建版本库的时候使用

1.2 工作流程

请添加图片描述

1.3 基本概念

Git 工作区、暂存区和版本库概念:

  • 工作区(workplace):就是你在电脑里能看到的目录。

  • 暂存区(Index):英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。

  • 版本库(Repository):工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

请添加图片描述

1.4 状态说明

  • 如果本地文件名颜色为红色,表示该文件是新增的本地文件且没有add。可以右键文件名(NEWREADME.md)->git->add,或者右键项目名(learn-ngari-framework-myself)->git->add。
  • 如果本地文件名颜色为绿色,表示该文件是新增的本地文件且已经add过了,可以视同文件名颜色为蓝色的文件,直接操作commit然后push。
  • 如果本地文件名颜色为蓝色,表示该文件有修改,但是没有commit过,可以右键文件名(README.md)->git->commit,或者右键项目名(learn-ngari-framework-myself)->git->commit。
  • 如果本地文件名颜色为黑色,有两种可能。第一种:本地确实没有做任何修改;第二种:有修改且commit过,但是没有push。

1.5 注意事项

  • 提交代码
    • fetch --> pull --> add --> commit --> push
    • 由于本地代码可能会落后于远端,为确保准确性,在提交代码前必须先fetch,再pull,然后再操作commit。
    • 以上操作可以使用命令行,也可以使用IDEA中的可视化操作工具。(VCS—>Git)
    • 本地配置文件不要提交提交到远端分支,由于每个人的本地路径、启动配置等不尽相同,如果提交到远端分支拉取的时候会存在大量的冲突,且合并冲突无意义,要求大家本地的配置文件不要勾选上传到远端分支。如果不想看到这些文件出现,可以在自己的项目中增加ignore文件,配置一下即可。
  • 下载代码
    • 下载代码之前我们需要先设置一下Git的SSH Key
    • 设置完毕以后,在IDEA启动页找到Check out from Version Control选项
    • 然后在相应的代码仓库里面找到项目的对应分支的SSH地址,输入密码以后就会下载代码了

2.Git命令

2.1 创建仓库

2.1.1 git init

使用当前目录作为目录,只需要打开Git Bash,输入下面指令即可。

git init

如果是指定目录作为仓库(newrepo为指定目录),则使用

git init <newrepo>

2.1.2 git clone

命令说明
git clone <repo>克隆仓库至当前目录
git clone <repo> <directory>克隆仓库到指定的目录

2.1.3 git config

git 的设置使用 git config 命令。

命令说明
git config --list使用t显示当前的 git 配置信息
git config -e编辑 git 配置文件,针对当前仓库
git config -e --global同样的编辑git配置文件,不过是针对所有仓库
git config --global user.name “name”设置提交代码时的用户名
git config --global user.email xxx@163.com设置提交提交代码时的用户邮箱

注意:如果去掉 –global 参数只对当前仓库有效。

2.2 基本操作

2.2.1 提交与修改

命令说明
git add <filen name>添加文件到暂存区
git status查看仓库当前的状态,显示有变更的文件。
git diff比较文件的不同,即暂存区和工作区的差异。
git commit -m ”提交备注“提交暂存区到本地仓库,-m是添加提交备注。
git commit --amend重写上一次的提交信息,命令执行会进入到编辑器页面
git reset --hard HEAD^回退版本到上一个版本,^的个数代表回退到当前版本的第几个版本。
git reset --hard <版本号>我们可以使用git reflog获得版本号,然后使用该命令回退到指定版本
git rm <file name>将文件从暂存区和工作区中删除。
git mv <old dir> <new dir>移动或重命名工作区文件。

2.2.2 查看日志

命令说明
git log查看历史提交记录
git blame <file name>以列表形式查看指定文件的历史修改记录
git reflog查看精简的提交日志

2.2.3 远程操作

命令说明
git remote列出已经存在的远程分支
git remote -v列出详细信息,在每一个名字后面列出其远程url, -v 选项显示对应的克隆地址
git remote add url添加一个远程仓库
git fetch从远程获取代码库
git pull下载远程代码并合并
git push上传远程代码并合并

2.3 分支管理

命令说明
git branch列出所有分支
git branch -d <branch name>删除分支
git branch <branch name>创建新的分支
git checkout <branch name>切换分支
git merge <branch name>将某一分支合并到当前分支

| 创建新的分支 |
| git checkout <branch name> | 切换分支 |
| git merge <branch name> | 将某一分支合并到当前分支 |

合并分支要注意解决冲突

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少不入川。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值