Git指令
Git测试
Git相关操作:https://gitee.com/help/articles/4114#article-header0
1、输入git,若出现下图,则安装成功
2、输入 git version查看git版本
3、设置用户名和邮箱
输入 git config --global user.name ”用户名” 可以设置用户名
输入 git config --global user.email ”邮箱” 可以设置邮箱
以后向github提交代码时输入的账号密码就是这个,输入git config -l 可以查看详细信息
4、Git结构
Git分为工作区和版本库,版本库包含暂存区和分支
5、建立Git本地仓库
新建一个目录,用来充当git的仓库(工作区),在该文件夹下执行 git init 指令,将在该文件夹下创建一个隐藏的.git文件夹(版本库)。该工作区下的所有文件将被git追踪并管理,注意:.git文件夹存放在该工作区中,但是不属于该工作区
6、查看git的工作状态
输入 git status 命令,查看git的工作状态
7、向暂存区中添加文件
输入 git add 文件名 命令,将指定文件添加到git暂存区中,若输入 git add . 命令,则代表将当前工作区中所有文件添加到暂存区
8、提交文件并备注文件信息
输入 git commit -m “提交的描述信息” 命令,将暂存区文件提交到本地分支,其中-m就是-message,“提交的描述信息”中填写文件的描述信息,相当于文件介绍,方便以后知道这个文件是干什么的,是第几版本
远程仓库选型
Git有许多远程仓库,如全球通用远程仓库平台github和国内流行仓库平台码云,注意:平台不是仓库,相当于服务器,一个服务器有许多仓库
1、选择远程仓库的平台
选择好平台之后开始创建仓库
2、将远程仓库关联到本地
输入git remote add 标识名 上传地址 ,把远程地址关联到本地,其中标识名称随便命名,上传地址就是创建仓库之后的地址,如:
git remote add 新猿1 https://gitee.com/xinyuanyima/test1.git
3、查看已关联地址
输入 git remote -v 查看已关联地址
4、断开连接
输入 git remote remove 远程仓库标识名 ,删除远程仓库与本地仓库的链接
5、上传本地文件到远程仓库
输入 git push -u 标识名 上传分支名 上传本地文件,其中标识名须与之前创建的名称相同,第一次上传要输入远程仓库平台登陆账号密码
6、在码云中查看
从远程仓库克隆到本地
1、创建文件夹
输入mkdir 文件夹名,在本地仓库中创建文件夹(这个步骤不用写)
2、克隆项目到本地
输入 git clone 远程仓库地址,从远程仓库clone代码到本地,注意:clone仅仅只适用于
多人协作
1、上传本地文件
输入 git push -u 标识名 上传分支名 上传本地文件,其中标识名须与之前创建的名称相同,第一次上传要输入远程仓库平台登陆账号密码
2、同步远程仓库文件
输入 git pull 标识名 上传分支名 ,从远程仓库中拉取代码
3、pull与clone功能都差不多,只是clone是在刚开始执行且仅执行一次,pull是在clone之后执行,可执行多次
分支
所有版本最终存储的位置,他按照时间线来划分,每次提交都会形成一个版本,每个版本依次存储在分支的各个提交点上
1、分支的基本操作
1)查看当前分支
输入 git branch ,查看当前仓库的分支
2)创建分支
输入 git branch 新分支名 创建指定分支
3)切换分支
虽然创建了新分支,但是当前默认使用master分支
输入 git checkout 分支名 可以切换到指定分支,之后commit的文件都将保存在该分支
2、分支细节
1)分支内容
每个分支都有一个指针,每个指针默认指向最新版本,当新建一个分支时,并不是重新创建一个时间线,而是首先会创建一个指针,新老分支的指针都指向同一个提交点,即指向同一个版本;新分支包含第一个提交点到旧分支指针指向的提交点
为什么新分支要包含旧分支的版本?
方便进行各种操作,旧分支相当于备份;新分支拥有所有版本,可以基于各个版本进行开发,不必担心版本管理混乱,若新分支没有之前的版本,就不能基于所有版本进行开发了
2)多分支走向
3)查看日志
输入 git log --oneline 查看精简版本日志
输入git log 查看详细版本日志
4)当输入 git log 查看详细版本日志时,有时候会出现一冒号(:)为结尾,且无法退出,这是因为意外情况导致日志太长,git自动分页,在冒号后面可以添加数字跳转页面,或者输入 q 结束程序
3、合并分支
输入 git merge 分支名 合并分支
如:在A分支上执行git merge B,就是把B分支合并到A分支,若A、B分支都做出了改动,则合并时A分支内容发生改变,B分支内容不变
分支合并的两种方式:快速合并、三方合并
(1)快速合并
直接把原分支的指针挪到被合并的分支指针所在处,快速合并有一个前提:有一个分支不能动,另一个分支可以做出修改
(2)三方合并
由于两个分支都发生了改动,要想保证新提交点拥有两个分支所有的最新改动,要先把两个分支的最新改动都合并到两个分支共有的最新提交节点上,然后把合并后共有的节点提交,形成新的提交节点
(3)查看图形日志
输入 git log --oneline --graph 查看简单图形日志
(4)合并冲突
当多个分支对同一个文件进行操作时进行分支合并,将会产生合并冲突
解决方法:衡量此时需要的内容,把需要的内容保留下来,然后add、commit、push即可
4、版本回退:
输入 git reset 需要回退的指定版本号,可以回退到指定版本(此版本后面的版本也会保留)
输入 git reset --hard,回退到当前版本(放弃所有修改)
输入 git reset --hard 需回退的指定版本号,回退到指定版本(放弃后面所有版本)
输入 git checkout 文件名,放弃指定文件(从git库中移除)
5、多人协同原则:在我们要进行push操作之前,一定要先pull,在本地先进行检验,防止冲突
凭证冲突
在使用https协议做push时,之前使用过gitee凭证,即用户名和密码,但是后来修改了密码或者更换了账号,就会产生凭证冲突
之前输入的凭证:
产生凭证冲突:
解决方法:去控制面板找到凭证管理器,把对应域名的凭证删除,再在push时重新输入新的凭证即可
Idea关联git
1、创建项目
2、关联git
选择git安装文件路径
3、点击test,测试关联是否成功
4、IDEA操作Git项目:https://blog.youkuaiyun.com/oschina_40730821/article/details/88804043