Git学习笔记

103 阅读2分钟

什么是Git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

工作流程

获取git仓库

git init:(未有仓库)初始化git仓库,并将当前项目的文件都添加到Git仓库中

git clone url:(已有仓库)从其他服务器clone一个已经存在的Git仓库

提交文件

当前项目的文件可以视为两种状态:未跟踪已跟踪。即被git add .标记的文件,由未跟踪转为已跟踪,同时放入暂存区

放入暂存区的文件状态称为staged

当文件被修改后,变为Modified状态,需要再次执行git add .,才能提交。(git add .实际上是提交所有文件的简写)git rm --cached filename可以把文件移除出暂存区(少用)

git commit -m "修改xx文件"当该命令被执行,可以将暂存区文件提交到Git仓库,此时文件状态称为Unmodified

或者直接执行git commit -a -m "修改xx文件"相当于add,commit一起执行。

以上是日常使用Git提交拉取代码的基本命令。

查看文件状态

git status :可以查看文件状态

查看提交历史

git log:查看提交历史,可以看到每个提交的校验和,作者名和邮箱地址,提交时间和提交说明。

忽略文件

当使用git add .时,存在一些我们不想提交的文件,此时需要使用忽略文件。 可以创建一个名为.gitignore的文件,列出要忽略的文件的名称。一般不需要手动配置。

版本回退

git reset:可以回退到之前提交的某个版本 使用方法:git reset --hard 校验和idgit reset --hard HEAD^

HEAD^表示上个版本,HEAD^^表示上上个版本,以此类推。 git通过HEAD指针记录当前版本。

远程仓库的验证

SSH密钥

Secure Shell(安全外壳协议)是一种加密的网络传输协议。可以以非对称加密实现身份验证。 可以以ssh -keygen -t ed25519 -C "email"ssh -keygen -t rsa -C "email" 生成密钥。

和远程仓库建立连接

git remote add 分支名 url

远程仓库相关操作

git push:上传远程代码并合并

git pull:下载远程代码并合并

git fetch:从远程获取代码库

git merge:从远端仓库提取数据并尝试合并到当前分支

git fetchgit pull的区别

git fetch 只是将远程仓库的变化下载下来,并没有和本地分支合并。而git pull 会下载变化以及与本地分支合并。