Git尚硅谷笔记

 课程目标:五小时熟练掌握Git GitHub GitLab Gitee码云的使用

1.Git

  • Git介绍分布式版本控制工具vS集中式版本控制工具
  • Git安装基于官网发布的最新版本2.31.1安装讲解
  • Git命令基于开发案例详细讲解了git的常用命令
  • Git 分支 分支特性 分支创建 分支转换 分支合并 代码合并 冲突解决 Idea集成Git 

2.GitHub

  • 创建远程库
  • 代码推送 Push
  • 代码拉取Pull
  • 代码克隆clone
  • SSH免密登录
  • Idea集成GitHub

3. Gitee码云

  • 码云创建远程库
  • Idea集成Gitee码云
  • 码云连接GitHub进行代码的复制和迁移

4.GitLab 

  • GitLab服务器的搭建和部署
  • Idea集成GitLab

目录

  • Git常用命令
  • Git分支操作
  • Git团队协作机制
  • GitHub操作
  • IDEA集成Git
  • IDEA集成GitHub

1.Git常用命令

命令名称                                                        作用
git config --global user.name 用户名             设置用户签名
git config --global user.email 邮箱                 设置用户签名
git init                                                             初始化本地库
git status                                                        查看本地库状态
git add 文件名                                                添加到暂存区
git commit -m "日志信息” 文件名                   提交到本地库
git reflog                                                        查看历史记录

git log                                                            查看历史记录(详细)
git reset --hard 版本号                                   版本穿梭

这里的--global表示全局配置,后续的所有文件操作都会使用该用户名称及邮箱。此时在操作系统的用户目录,会产生新的配置文件

配置文件地址:

 配置文件内容:

初始化本地库 

git init

版本库创建成功后,会在目录中创建.git目录,用于管理当前版本库。

查看版本库状态

git status

查看空仓库:

查看有文件的仓库:

添加到暂存区:

git add

将aaa.txt添加到暂存区,查看版本库状态 

git rm --cached 是一个 git 命令,它的作用是从 Git 的索引中移除指定的文件,但不删除工作区中的实际文件。 也就是说,这个命令可以用来停止 Git 跟踪某个文件或目录,并把该文件(或目录)恢复到未被跟踪的状态。如果我们使用 git rm --cached file.txt 命令,则 Git 不再跟踪 file.txt 文件的改动,但文件本身并不会被删除。 

git rm --cached 文件

提交本地库

git commit -m "版本信息"        提交到本地库

git log                                      查看历史记录(详细)

git reflog                                  查看历史记录

修改文件

创建并且编辑bbb.txt,将bbb.txt添加到暂存区,再把bbb.txt提交到本地库,查看提交版本的历史记录:

 修改bbb.txt,查看bbb.txt,查看本地库状态,modified是修改的意思,再把bbb.txt添加到暂存区,再把bbb.txt提交到本地库,在查看本地库的历史提交记录

 看一下第二个版本的bbb.txt

版本穿梭

git reset --hard 版本号                版本穿梭

 版本一:创建并且编辑ccc.txt,查看ccc.txt,把ccc.txt添加到暂存区,在把ccc.txt提交到本地库,查看历史版本。

版本二: 编辑ccc.txt,查看ccc.tx,把ccc.txt添加到暂存区,在把ccc.txt提交到本地库,查看历史版本。

 版本三:编辑ccc.txt,查看ccc.tx,把ccc.txt添加到暂存区,在把ccc.txt提交到本地库,查看历史版本。

现在是版本三,看一下版本三的内容:

 版本回退到版本二,看一下版本二的内容:

版本回退到版本一,看一下版本一的内容:

2.Git分支操作

分支的操作

命令名称                                        作用
git branch 分支名                           创建分支
git branch                                       查看分支
git checkout 分支名                        切换分支

git switch 分支名                            切换分支(一般多用这个命令)
git merge 分支名                            把指定的分支合并到当前分支上

查看分支 

git branch

 

创建分支 

git branch 分支名

创建dev分支,创建hotfix分支,查看分支 

 切换分支

git switch 分支名

有master分支切换到 dev分支,在有dev分支切换到hotfix分支

合并分支

git merge 分支名                                把指定的分支合并到当前分支上

正常合并

在dev分支上创建,并且编辑ggg.txt ,查看ggg.txt,把ggg.txt添加到暂存区,把ggg.txt提交到本地库.

 (注意:现在只有dev分支能够看到ggg.txt,在其他分支看不到ggg.txt)

 切换到master分支,合并dev分支,就能看到ggg.txt了

冲突合并

冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。

在master分支上编辑aaa.txt,查看aaa.txt,把aaa.txt添加到暂存区,在把aaa.txt提交到本地库

 切换到dev分支,查看aaa.txt,编辑aaa.txt,查看aaa.txt

 把aaa.txt添加到暂存区,把aaa.txt提交到本地库,切换分支到master分支

 master分支合并dev分支

 发生冲突,手动合并冲突

先查看aaa.txt,在编辑aaa.txt,在查看aaa.txt,在把aaa.txt添加到暂存区,再把aaa.txt添加到本地库,查看aaa.txt,手动解决冲突成功!

 3.Git团队协作机制

团队内协作:

跨团队协作: 

4.GitHub操作

远程仓库操作

命令名称                                                    作用
git remote -v                                             查看当前所有远程地址别名
git remote add 别名 远程地址                  起别名
git push 别名 分支                                    推送本地分支上的内容到远程仓库
git clone 远程地址                                    将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名         将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

创建远程库,把本地库推送到远程仓库

Git仓库创建好后,点击https地址进行复制

为Git远程仓库创建别名

创建并且编辑bbb.txt,把bbb.txt添加到暂存库,把bbb.txt提交到本地库,查看远程仓库别名,在把bbb.txt推送到远程库

 在push的时候会弹出github登录框,登录绑定一下

 成功推送后,在github上能够看到推送的文件:

拉取远程库到本地库

1.在远程库上修改bbb.txt:如下:

2.现在本地库已经和远程库不同步了,现在需要拉取远程仓库的代码到本地,查看bbb.txt

克隆远程仓库到本地

1.找到想要克隆的仓库(复制一下https链接地址)

 2.创建空文件夹,直接clone ,git版本库也给clone下来了,你可以看看历史版本(公共库读权限没有限制)

 

小结:clone会做如下操作,1.拉取代码,2.初始化本地仓库,3.创建别名,4.远程仓库别名也给clone下来了。

邀请加入团队(团队内协作),跨团队协作

这里看哔哩哔哩视屏吧,没有那么多github账号视频地址

Github_SSH_免密登录

1.生成公钥和私钥(连续敲三下回车)

ssh-keygen -t rsa -C 邮箱

2.生成好的公钥和私钥放在这里:

查看公钥,复制公钥

 接下来使用ssh协议,进行克隆仓库

在一个空的文件夹下运行这个命令:

克隆成功了, 如下:

现在创建编辑ccc.txt,把ccc.txt添加到暂存区,再把ccc.txt提交到本地库,给远程仓库创建别名,最后推送到远程仓库:

git push -u origin master 啥意思,有啥作用?

git push -u origin master 是将本地的 master 分支推送到远程仓库的 origin,并通过 -u 参数设置了本地 master 分支与远程仓库 origin/master 分支关联。这样一来,在以后你在 master 分支上运行 git push 命令时,Git 会默认将更改推送到 origin/master 分支。此外,如果你在 master 分支上运行 git pull 命令,Git 会自动从 origin/master 分支获取更改并将它们合并到你的本地 master 分支中。这可以节省你的时间,并使你的工作流更加高效。

 现在我在远程仓库直接修改代码ccc.txt

现在远程仓库和本地仓库已经不同步了,需要在本地仓库拉取远程仓库master分支的代码:(查看ccc.txt)

5.IDEA集成Git

配置git忽略文件

1.为什么要忽略他们?

与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽IDE工具之间的差

异。

2.怎么忽略?

创建忽略规则文件xxxx.ignore(前缀名随便起,建议是git.ignore) 这个文件的存放位置原则上

在哪里都可以,为了便于让~.gitconfig文件引用,建议也放在用户家目录下

git.ignore

# 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

hs_err_pid*

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

 

1.现在新建一个项目,使用idea集成Git,学会在idea中使用git.

 2.配置git

3.初始化本地库,相当于敲命令git init

 

 

4.编写代码,添加到暂存区

 

 

5.把刚才添加到暂存区的代码提交到本地库:

 

 

6.修改代码,进行第二次添加到暂存区,提交到本地库。之后在进行版本穿梭。

修改代码

 添加到暂存区

提交到本地库

 

 

版本穿梭:

 

 

 

 

 7.创建分支dev,切换分支到dev,在切换分支到master

 

 

 

 

 

8.合并分支(正常合并)之前遇到点错误,删除了git仓库重新弄了一下

切换到dev分支,修改代码,添加到暂存区,提交到本地库

 

切换到master分支 ,合并dev分支

 

 9.合并分支(冲突合并)

切换到dev分支,修改代码

 切换到master分支,修改代码

合并分支dev 

 

 手动解决冲突

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿瞒有我良计15

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值