Git总结
Posted xiechenglin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git总结相关的知识,希望对你有一定的参考价值。
一、git介绍
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目;
优点:分布式,元数据存储,采用sha-1算法;
二、git的简单知识点
git工作区,暂存区,版本库解释
git工作区:就是在服务器上拉下来可见的项目目录
暂存区:就是在.git目录下的index目录,用户暂存工作空间的文件索引
版本库:.git目录就是一个版本库
git用户信息配置
--system :读取etc/config(系统路径下)文件;--global:读取用户目录下的config文件
git config 范围 参数名 值
$ git config --list:展示配置变量
$ git config --global user.name "xiechenglin" :设置用户名(如果存在会被覆盖)
$ git config --global user.email [email protected] :设置email(如果存在会被覆盖)
生成公钥:
ssh-keygen -t rsa -C "[email protected]"
将公钥添加到git的ssh上
仓库的创建:
方式一:指定文件夹或当前文件夹创建
git init:创建仓库
git init rep:指定目录创建仓库
方式二:从远程仓库直接拷贝
git clone url(远程仓库的url)
git clone url 指定文件夹
文件添加到暂存区:
方式一:git add 文件名1 文件名2:添加一个或多个指定文件
方式二:git add .:添加所有的文件
查看当前git的状态:
git status -s(以简明的方式):这个状态只能看到工作区和暂存区的,当提交后整个状态就清除了。
比较文件差异:
git diff :比较工作区与暂存区的文件差异
git diff --cached [<path>...] :比较暂存区和版本库的文件差异
git diff HEAD [<path>...]:比较工作区与版本库的文件差异
git diff commit-id [<path>...] :比较工作区与暂存区提交id的差异
git diff --cache commit-id [<path>...] :比较暂存区与版本库id的差异
删除文件:
git rm file:删除文件,并且该文件索引也会删除
git rm -f file :强制删除
git rm --cached:删除缓存中的文件
移动或改名:git mv a.file b.file:同目录改名,非同目录移动
提交文件:git commit -m ‘‘:提交暂存区文件
分支管理:
查看分支:git branch
创建分支:git branch branchName
切换分支:git checkout branchName
创建并切换分支:git checkout -b branchName
合并分支:git merge --no-ff -m ‘‘ branckName
删除分支:git branch -d branchName
拉取远程最新分支不会合并:git fetch
拉取远程分支并且会合并:git pull
查看tag:git tag
添加标签:git tag -a tagName -m 描述
查看历史:
git log:历史提交记录
git log --oneline:历史提交记录查看的简洁版本
git log --oneline --graph:单行和图的形式查看
git log --oneline --decorate --graph:单行和图的形式查看并且可以看见tag
删除远程仓库:git remote rm 仓库名
常见命令:git checkout fileName:将缓存区的文件拉下来,如果存在同名文件会替换
git rm --cached fileName:将缓存区的文件删除
git commit --amend 撤销上一次提交并将暂存区文件重新提交,说明还是上次说明
将版本库里面的文件拉到缓存区,同名的会被覆盖,增添的不会改变:git reset HEAD -- <file>
仓库迁移:
1.首先将代码分支全拉下来并且合并:git pull
2.修改origin源的url:git remote set-url origin 更换远程仓库地址,把url更换为新的url地址
或git remote rm origin;
git remote add origin remote_git_address remote_git_address为新服务器gitLab上新建的同名项目地址
3.git push origin --all 推送主干和分支
4.git push --tags 推送标签
以上是关于Git总结的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段