Git傻瓜教程
最近在使用Git,遇到点问题,就写了这个方便大家使用Git,也主要是针对新手,老手忽略
一.Git下载和安装
Git下载
官网下载
官网下载地址:https://git-scm.com/downloads
我自己使用的Git的链接下载
下载地址:https://github.com/dss97/dss97.store
1.Git的安装(应用)
1.双击安装包,进入安装向导界面
2.指定安装目录
3.一路next下一步
4.等待安装
5.安装完成
6.安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。
7.运行Git命令客户端,使用git --version 命令,可以查看git版本
2.TortoiseGit的安装(应用)
1.双击安装包,进入安装向导界面
2.一路next下一步
3.指定安装目录
4.安装
5.配置
6.安装TortoiseGit中文语言包,一路next即可
7.配置TortoiseGit中文语言
二.Git操作入门
2.1Git基本工作流程(理解)
本地仓库
2.2Git命令行操作(应用)
git常用命令
命令 | 作用 |
---|---|
git init | 初始化,创建 git 仓库 |
git status | 查看 git 状态 (文件是否进行了添加、提交操作) |
git add 文件名 | 添加,将指定文件添加到暂存区 |
git commit -m ‘提交信息’ | 提交,将暂存区文件提交到历史仓库 |
git log | 查看日志( git 提交的历史日志) |
2.2.1操作步骤
- 创建工作目录、初始化本地 git 仓库
- 新建一个 test.txt 文件(暂不执行添加操作)
- 使用 status 命令,查看状态
- 使用 add 命令添加,并查看状态
- 使用 commit 命令,提交到本地历史仓库
- 使用 log 命令,查看日志
- 修改 test.txt 文件
- 添加并提交,查看日志
2.3Git图形化工具操作(理解)
- 创建工作目录、初始化本地 git 仓库
- 新建一个 test.txt 文件(暂不执行添加操作)
- 选中文件右键,选择TortoiseGit,之后选择添加
- 空白处右键,Git提交,提交到本地历史仓库
- 空白处右键,TortoiseGit,显示日志,可以产看日志信息
- 修改 test.txt 文件
- 添加并提交,查看日志
三.Git版本管理
3.1历史版本切换
准备动作
- 查看 my_project 的 log 日志 git reflog :可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录的操作)
- 增加一次新的修改记录
需求: 将代码切换到第二次修改的版本 - 版本切换指令:
指令:git reset --hard 版本唯一索引值
3.2分支管理介绍
分支
1.由每次提交的代码,串成的一条时间线
2.使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线
分支的使用场景
- 周期较长的模块开发
假设你准备开发一个新功能,但是需要一个月才能完成 第一周写了20%的代码,突然发现原来已经写好的功能出现了一个严重的Bug 那现在就需要放下手中的新功能,去修复Bug 但这20%的代码不能舍弃,并且也担心丢失,这就需要开启一个新的版本控制。 - 尝试性的模块开发
业务人员给我们提出了一个需求,经过我们的思考和分析 该需求应该可以使用技术手段进行实现。 但是我们还不敢确定,我们就可以去创建一个分支基于分支进行尝试性开发。
分支工作流程
1.Master: 指向提交的代码版本
2.Header: 指向当前所使用的的分支
3.3分支管理操作(应用)
创建和切换
创建命令:git branch 分支名 —切换命令:git checkout 分支名
新分支添加文件
查看文件命令:ls
总结:不同分支之间的关系是平行的关系,不会相互影响
合并分支
合并命令:git merge 分支名
删除分支
删除命令:git branch -d 分支名
查看分支列表
查看命令:git branch
四.远程仓库(以码云为例,github操作流程基本一致)
4.1远程仓库介绍和工作流程
GitHub 域名:https://github.com 介绍:GitHub是全球最大的开源项目托管平台,俗称大型程序员社区化交友网站 各类好玩有趣的开源项目,只有想不到,没有找不到。
码云域名:https://gitee.com 介绍:码云是全国最大的开源项目托管平台,良心平台,速度快,提供免费私有库
4.2码云的注册和使用
4.3先有本地项目,远程为空(应用)
4.3.1步骤
- 创建本地仓库
- 创建或修改文件,添加(add)文件到暂存区,提交(commit)到本地仓库
- 创建远程仓库
- 推送到远程仓库
4.3.2创建远程仓库
4.3.3生成SSH公钥
推送代码之前,需要先配置SSH公钥
生成SSH公钥步骤
- 设置Git账户
git config user.name(查看git账户)
git config user.email(查看git邮箱)
git config --global user.name “账户名”(设置全局账户名)
git config --global user.email “邮箱”(设置全局邮箱)
cd ~/.ssh(查看是否生成过SSH公钥)
生成SSH公钥
生成命令: ssh-keygen –t rsa –C “邮箱” ( 注意:这里需要敲3次回车)
查看命令: cat ~/.ssh/id-rsa.pub
设置账户公钥
公钥测试
命令: ssh -T git@gitee.com
出现提示选yes
推送到远程仓库(码云gitee和github推送一致)
1.添加远程仓库
命令 git remote add 远程名称 远程仓库URL
2.推送
命令 git push -u 仓库名称 分支名
4.4先有远程仓库,本地为空(应用)
- 将远程仓库的代码,克隆到本地仓库 克隆命令:git clone 仓库地址
- 创建新文件,添加并提交到本地仓库
- 推送至远程仓库
- 项目拉取更新 拉取命令:git pull 远程仓库名 分支名
4.5代码冲突
产生原因:
两个程序员操作同一个文件,其中一个程序员在修改文件后,push到远程仓库,另一个程序员应该先pull将最新的 代码更新到本地仓库后,在修改代码,之后push到远程仓库,结果他没有先pull将最新的代码更新到本地仓库,而 是直接将自己的代码push到远程仓库,这样就可能会导致代码冲突
出现上图红色图片中的字就代表是代码冲突,可能是你在推送期间修改了远程仓库文件,如README问件或者修改了本地推送文件或者之前远程仓库推送的其他文件受到修改都会代码冲突,pull拉取下库文件就行
如何解决冲突
<<<<<<<和>>>>>>>中间的内容,就是冲突部分
(1)本地文件修改导致的冲突
- 修改冲突行,保存,即可解决冲突。
- 重新add冲突文件并commit到本地仓库,重新push到远程
(2)远程仓库修改导致的冲突
- git pull 远程仓库名 分支名 直接拉取远程仓库更新然后再添加推送至远程仓库
- 或者使用图形化工具进行同步,然后拉取,之后在进行文件推送即可完成
五.IDEA集成Git(不同版本IDea呈现不同,但操作相同)
5.1Git使用前IDEA设置
- File -> Settings
- Version Control -> Git -> 指定git.exe存放目录
- 点击Test测试
5.2创建本地仓库(应用)
- VCS->Import into Version Control->Create Git Repository
- 选择工程所在的目录,这样就创建好本地仓库了
- 点击git后边的对勾,将当前项目代码提交到本地仓库
注意: 项目中的配置文件不需要提交到本地仓库中,提交时,忽略掉即可
5.3版本切换(应用)
- 方式一: 控制台Version Control->Log->Reset Current Branch…->Reset 这种切换的特点是会抛弃原来的提交记录(高版本使用hard好像已经不会抛弃以前记录了)
- 方式二:控制台Version Control->Log->Revert Commit->Merge->处理代码->commit 这种切换的特点是会当成一个新的提交记录,之前的提交记录也都保留
5.4分支管理(应用)
- 创建分支 VCS->Git->Branches->New Branch->给分支起名字->ok
- 切换分支 idea右下角Git->选择要切换的分支->checkout
- 合并分支 VCS->Git->Merge changes->选择要合并的分支->merge
4.删除分支 idea右下角->选中要删除的分支->Delete
5.5本地仓库推送到远程仓库(应用)
- VCS->Git->Push->点击master Define remote
- 将远程仓库的路径复制过来->Push
5.6远程仓库克隆到本地仓库(应用)
File->Close Project->Checkout from Version Control->Git->指定远程仓库的路径->指定本地存放的路径->clone
(指定文件克隆,然后修改使用)