Git从零到一看这篇文章就够了
🔥前言
前一阵子做的好多项目存到电脑里头都大了,虽然短时间没有用,但是删了实在可惜,于是我熬夜加班学习了Git的基本使用并快速入门,把项目存放到了远程仓库。随后写下了这篇博客,保证非常之新鲜热乎啊,快来跟我快速入门Git!
@[TOC]
✨Git的快速入门
- Git——分布式版本控制
优势:和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都要干瞪眼了。
Git安装与常用命令
1.1Git环境配置
1.1.1 下载与安装
在官网下载Git即可,下载地址放在这儿,需要自取👉git-scm.com或者gitforwindows.org,我的Git版本是
Git-2.35.1.2-64-bit
点击.exe文件下载(一直点next即可)
1.1.2基本配置
1、打开Git Bsah(电脑壁纸界面右键寻找)
- 右键能找到
Git Bash
说明Git安装成功
2、设置用户信息
用户名:
git congfig --global user.name "自己的id"
邮箱:git congfig --global user.email "随便写"
- 查看配置信息
用户名:
git congfig --global user.name
邮箱:git congfig --global user.email
1.1.3为常用指令配置别名
有些常用的指令参数非常多,为了减少代码量,我们可以使用别名
打开用户目录,创建
.bashrc
文件部分windows系统不允许用户创建点号开头的文件,可以打开gitBash输入
touch ~/.bashrc
在上方文件中输入以下内容
用于输出git提交日志:
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
用于输出当前目录所在的文件及基本信息:alias ll='ls -al'
打开gitBash,输入
source ~/.bashrc
1.2 获取本地仓库
要使用Git对我们的代码进行版本控制,首先要获得本地仓库
在电脑任意位置创建一个新目录,例如:D盘myGit下新创建ylqb_test1文件夹
进入这个目录中,右键进入Git Bash 窗口
执行命令
git init
创建成功后可以看到该目录下生成了一个
.git
隐藏目录
找不到的话在“查看“中打开隐藏的项目*1.3基础操作指令
Git 工作目录下对于文件的修改(增加、删除、更新)存在着几种状态,我们可以通过git的命令来更改这些状态
三种状态:
工作区(
workplace
)这里存放着新建的文件(untracked)以及修改的文件(unstaged)
暂存区(
index
)这里存放着已经暂存(staged)的文件,等待提交给仓库
仓库(
repository
)存放暂存区提交的文件,以及提交的日志等信息
*1.3.1重要指令
查看修改的状态
git status
将工作区添加到暂存区
添加单个文件语法:
git add 文件名|通配符
添加多个文件:
git add .
提交到仓库
git commit -m"注释内容"
1.3.2 查看日志(log)
普通版:
git log --子命令
建议直接使用上面1.1.3所配置的别名
git-log
即可,这样看到的是优化版的日志提示
1.3.3版本回退
- 作用:版本切换
- 命令形式:
git reset commitID --hard
(--hard也可以写在commitID之后,commitID是提交记录号)- commitID 可以用
git log
或者git-log
命令找到
- commitID 可以用
- 如何查看删除的文件
git reflog
- 这个可以查看已经删除的提交记录从而获得版本号
1.3.4添加文件至忽略列表
如果我们有些文件不想纳入Git管理,也不希望他们总出现在未跟踪的文件列表里,通常都是一些日志文件或者编译过程产生的文件,在这种情况下我们可以建立一个 名为.gitignore
的固定文件,在文件里列出要忽略文件的后缀名即可。
1.4 分支
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作人员从开发主线分离进行重大bug的修改,开发新功能,以免影响开发主线
1.4.1查看本地分支
git branch
1.4.2创建本地分支
git branch 分支名
*1.4.3切换分支
git checkout 分支名
- 创建并切换分支:
git checkout -b 分支名
1.4.4合并分支
一个分支上的提交可以合并到另一个分支
git merge 分支名称
1.4.5删除分支
git branch -d 分支名
这个方法需要检查分支的关系,有可能删除失败git branch -D 分支名
不做检查,强制删除分支
注意:不能删除当前分支,应切换到其他分支再删除要删除的分支
1.4.8 解决冲突
当两个分支以上对文件的修改可能会存在冲突,比如两个分支同时修改了同一个文件的同一行代码,这就需要手动解决Git无法判断提交哪个分支修改的问题.
- 处理文件中冲突的地方
- 将解决好冲突的文件加入暂存区(git add)
- 提交到仓库(git commit)
2、Git远程仓库
2.1常用的托管服务(远程仓库)
gitHub
外国网站,网速慢gitee
(码云)国内网站,使用码云操作
2.2注册码云(略)
注册地址:https://gitee.com/signup
2.3新建远程仓库
2.4***H公钥
通过SSH公钥来绑定个人仓库和远程仓库
- 生成SSH公钥
ssh-keygen -t rsa
- 不断回车(公钥存在会自动覆盖)
- Gitee设置账号公钥
- 获取公钥
cat ~/.ssh/id_rsa.pub
- 注意复制的时候选中即可,不能ctrl+c
- 检验是否配置成功
ssh -T git@gitee.com
(出现下面的情况就是配置成功)
- 获取公钥
2.5操作远程仓库
2.5.1绑定远程仓库地址
git remote add <远端名称><仓库路径>
(仓库路径按下图所示复制即可)- 远端名称,默认是origin,取决于远端服务器
- 仓库路径,从远端服务器获取此URL
2.5.2查看远程仓库
git remote
2.5.3推送到远程仓库
- 命令:
git push [-f][--set-upstream][远端名称[本地分支名][远端分支名]]
- -f 表示强制覆盖
- 如果远程分支名和本地分支名相同,则可以只写本地分支
- 例如
git push origin master
- 例如
--set-upstream
推送到远端的同时并建立起和远端分支的关联关系。git push --set-upstream origin master
- 如果当前分支已和远端分支关联,则可以省略分支名和远端名
git push
将master分支推送到已关联的远端分支
2.5.4查看本地分支与远程分支的关联关系
git branch -vv
- 更加详细的查看分支
2.5.5从远程从库克隆
如果以及有一个远端仓库,我们可以直接 clone到本地
git clone <仓库路径>[本地目录]
(可以在桌面打开GitBash进行克隆,桌面就会多出一个仓库)- 本地目录不加的话会自动生成一个目录
2.5.6从远程仓库抓取拉取
远程分支和本地分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,在进行操作。
- 抓取命令:
git fetch[remote name][branch name]
- 抓取指令就是将仓库的更新都抓取到本地,不会进行合并
- 如果不指定远端名称和分支名,则抓取所有分支
- 抓取更新的提交之后,再进行merge,这样clone的仓库也就完成了更新
- 拉取命令:
git pull[remote name][branch name]
- 拉取命令就是将远端仓库的修改拉到本地并自动进行合并,等同于 fetch+merge
- 如果不知道远端名称和分支名,则抓取所有并更新当前分支
2.5.7解决合并冲突
当两个以上的人同时修改同一个分支的同一行代码时,再将修改后的提交推到远程仓库的时候会出现冲突,解决办法和本地仓库解决冲突方法一致,不做演示。
📃 结语
总结了一天的Git笔记,最后也成功的将我的一些项目推送到了远程仓库,收获满满啊!另外如果文章看不太懂的朋友可以拿着我的笔记去B站找找Git入门的资源进行学习,一定是事半功倍的!超级实用的Git,快拿去学习吧,冲冲冲!!!