git

6Git常用命令
命令名称 命令作用
git init 初始化本地库
git config --global user.name 用户名 设置用户签名的用户名部分
git config --global user.email 邮箱 设置用户签名的邮箱部分
git status 查看本地库状态
git add 文件名 添加到暂存区
git commit -m “日志信息” 文件名 提交到本地库
git reflog、git log 查看历史记录
git reset --hard 版本号 版本穿梭
HEAD -> master:记录指针移动的位置

7Git命令详解
7.1初始化本地库
在这里插入图片描述

7.2设置用户签名
7.2.1说明
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。
※注意:这里设置用户签名和将来登录GitHub(或其他代码托管中心)的账号没有任何关系。
7.2.2操作
全局范围的签名设置:
在这里插入图片描述

7.2.3查看本地库状态检测到未追踪的文件
7.3
在这里插入图片描述

7.3.1检测到有新建的文件添加到了暂存区
在这里插入图片描述

7.3.2提交完成后查看状态
git commit good.txt
在这里插入图片描述

7.3.3检测到工作区有文件被修改
在这里插入图片描述

7.3.4工作区的修改添加到了暂存区
在这里插入图片描述

7.3.5产生冲突
在这里插入图片描述

7.3.6把冲突文件修复后添加到暂存区
在这里插入图片描述

7.4将工作区的修改添加到暂存区
在这里插入图片描述

7.5将暂存区的修改提交到本地库
在这里插入图片描述

7.6查看历史版本
7.6.1git reflog
在这里插入图片描述

7.6.2git log
在这里插入图片描述

7.6.3git log --pretty=oneline
在这里插入图片描述

7.7版本穿梭
7.7.1版本后退
在这里插入图片描述

7.7.2版本前进
在这里插入图片描述

7.7.3底层其实是移动HEAD指针

8分支操作
8.1实际开发流程

8.2分支概念
在使用版本控制工具开发的过程中,同时推进多个任务

8.3分支的好处
同时并行推进多个功能开发,提高开发效率
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

8.4分支操作
命令名称 作用
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支合并到当前分支上

8.5分支操作详解
8.5.1创建分支和切换分支图解
在这里插入图片描述

master、hotfix其实都是指向具体版本记录的指针。当前所在的分支,其实是由HEAD决定的。
所以创建分支的本质就是多创建一个指针。
HEAD如果指向master,那么我们现在就在master分支上。
HEAD如果执行hotfix,那么我们现在就在hotfix分支上。
所以切换分支的本质就是移动HEAD指针。
8.5.2创建分支和切换分支的操作截图
在这里插入图片描述

8.5.3在两个不同分支分别做不同修改图解
在这里插入图片描述

8.5.4在两个不同分支分别做不同修改操作截图
在这里插入图片描述

8.5.5合并分支图解
在这里插入图片描述

合并分支时一定是涉及到两个分支。这两个分支一个是“当前所在分支”,一个是“目标分支”。
命令写法:git merge 目标分支
所以分支合并命令的本质就是把“目标分支”合并到“当前分支”。
例如:把hotfix合并到master
git merge hotfix
需要确保当前所在的分支是master
例如:把master合并到hotfix
git merge master
需要确保当前所在的分支是hotfix
8.5.6合并分支操作截图
在这里插入图片描述

8.6分支合并时产生冲突
8.6.1冲突产生的表现
在这里插入图片描述

<<<<<<< HEAD
Hello Git!I am very happy! &&&&&&&&&&&&
Hello Git!I am very happy!
=======
表示HEAD指针指向的位置在冲突中的内容

=======
Hello Git!I am very happy!
Hello Git!I am very happy! ************
>>>>>>> hotfix
表示hotfix指针指向的位置在冲突中的内容

8.6.2冲突产生的原因
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。
8.6.3冲突的解决
①编辑有冲突的文件,删除特殊符号,决定要使用的内容
在这里插入图片描述

②添加到暂存区
在这里插入图片描述

③执行提交(注意:使用git commit命令时不能带文件名)
在这里插入图片描述

9GitHub操作
9.1创建远程库
在这里插入图片描述

9.2远程库操作
9.2.1创建远程库地址别名
git remote -v 查看当前所有远程地址别
git remote add 别名 远程地址
$ git remote add origin https://github.com/445241233/good.git
9.2.2推送
git push 别名 分支
9.2.3克隆
git clone 远程地址
远程地址查询:

克隆后效果
在这里插入图片描述

切换账号时
在这里插入图片描述

9.2.4邀请加入团队

9.2.5拉取
git pull 远程库地址别名 远程分支名
9.3跨团队协作

先修改文件

再提交,相当于命令行,commit+push。

此时,再切换回项目创建人账号:

10SSH登录
进入当前用户的家目录
$ cd ~删除.ssh目录
$ rm -rvf .ssh
运行命令生成.ssh密钥目录
$ ssh-keygen -t rsa -C atguigu2018ybuq@aliyun.com
[注意:这里-C这个参数是大写的C]
进入.ssh目录查看文件列表
$ cd .ssh
$ ls -lF
查看id_rsa.pub文件内容
$ cat id_rsa.pub
复制id_rsa.pub文件内容,登录GitHub,点击用户头像→Settings→SSH and GPG keys
New SSH Key
输入复制的密钥信息
回到Git bash创建远程地址别名
git remote add origin_ssh git@github.com:atguigu2018ybuq/huashan.git

修改文件,提交到本地库
在这里插入图片描述

推送文件进行测试
在这里插入图片描述

报错,因为本地不是最新版本。
所以要先pull

11配置Git忽略文件
11.1哪些文件要忽略?
11.1.1Eclipse特定文件

11.1.2IDEA特定文件
在这里插入图片描述

11.1.3Maven工程的target目录
在这里插入图片描述

11.2为什么要忽略它们?
与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽IDE工具之间的差异。
11.3怎么忽略?
11.3.1创建忽略规则文件
这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig文件引用,建议也放在用户家目录下

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml

11.3.2在.gitconfig文件中引用忽略规则文件

[user]
	name = peter
	email = peter@atguigu.com
[core]
	excludesfile = C:/Users/Lenovo/xxx.ignore

注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”

12在IDEA中使用Git
12.1定位Git程序

12.2初始化本地库

在当前工程目录下可用打开命令行操作
12.3添加到暂存区

12.4提交到本地库

12.5创建分支

12.6切换分支
在IDEA窗口的右下角

12.7合并分支

12.8解决冲突
在和远程库交互过程中也有可能发生冲突,因为解决办法一样,所以这里按照分支操作过程中产生的冲突来演示。
12.8.1冲突的产生
仍然是同一个文件在同一个位置有不同内容。

12.8.2合并分支

12.8.3看到冲突提示

这里可以直接点“Accept Yours”或者“Accept Theirs”来解决冲突。这代表完全使用我们的内容或完全使用他们的内容。
如果我们想要详细修改冲突内容则点击Close。此时IDEA会提示Resolve

12.8.4冲突的表现

12.8.5点击Resolve

点击Merge…

根据需要调整完成后点击“Save changes and finish merging”

然后提交到本地库就好啦!

13在IDEA中连接GitHub
13.1保存GitHub账号
在这里插入图片描述

13.2分享工程到GitHub

13.3Clone
在这里插入图片描述

13.4Push
在这里插入图片描述

13.5Pull
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值