您现在的位置是:首页 >技术杂谈 >Git学习笔记网站首页技术杂谈

Git学习笔记

小L~~~ 2023-05-18 20:00:02
简介Git学习笔记

Git常用命令

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

设置用户签名

基本语法

git config --global user.name 用户名
git config --global user.email 邮箱

​ 签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看 到,以此确认本次提交是谁做的。

​ Git 首次安装必须设置一下用户签名,否则无法提交代码。

​ ※注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任 何关系。

初始化本地库

基本语法

git init

案例实操

在这里插入图片描述
初始化之后输入 ll -a 就可以进行查看文件
在这里插入图片描述

查看本地状态库

基本语法

git status

案例实操

首次查看:

在这里插入图片描述

  • on branch master 提示你当前你这个本地库在master分支里面
  • No commits yet 说明你当前还没有提交过任何东西
  • nothing to commit 说明你在目前目录下没有创建任何东西

新增文件(hello.txt)

vim hello.txt

在vim hello.txt之后,出现界面后按 i 就可以开始编写内容, 按esc退出编辑模式,shift + : 并输入wq保存文件;按大写ZZ直接保存退出

cat hello.txt

查看文件内容

tail -n 1 hello.txt

查看文件最后一行的内容

再次查看(检查到追踪的文件)

出现下图的状态时表示文件还未被追踪
在这里插入图片描述

添加暂存区

基本语法

git add 文件名

案例实操

在这里插入图片描述
再次查看状态时,如下图所示,表示git已经追踪到该文件,但只是在暂存区
在这里插入图片描述

使用 git rm --cached 可以将文件从暂存区删除,但是工作区依然存在该文件,可以使用 ll 命令进行查看

git rm --cached hello.txt

提交本地库

将暂存区的文件提交到本地库

基本语法

git commit -m "日志信息" 文件名

案例实操

在这里插入图片描述
其中 ,7d878d1 表示版本号

“fitst commit”:必须填,内容每次不同

查看状态(没有文件需要提交)

在这里插入图片描述
使用 reflog 命令查看版本信息

git reflog

在这里插入图片描述
使用git log命令查看详细日志的

git log

在这里插入图片描述

修改文件

查看状态(检测到工作区有文件被修改)

在这里插入图片描述

将修改的文件再次添加到暂存区

在这里插入图片描述

查看状态(工作区的修改添加到了缓存区)

在这里插入图片描述
然后使用git commit -m"second commit" hello.txt 命令将文件提交到本地库即可

历史版本

查看历史版本

基本语法

查看版本信息

git reflog

版本详细信息

git log

案例实操

在这里插入图片描述

版本穿梭

基本语法

git reset --hard 版本号
  1. 第一步使用git reflog命令查看想要回退的版本号
  2. 第二步切换版本号
  3. 第三步切换成功后查看历史记录,可以看到成功切换到回退回去的版本号
    在这里插入图片描述

接下来,查看.git里的文件,HEAD是当前所在分支,refs->heads->master显示的是当前指向的版本号

Git 分支操作

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

分支的操作

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

查看和创建分支

基本语法

git branch -v

案例实操

ASUS@LAPTOP-9E4MMR4A MINGW64 /d/Git-Space/git-demo (master)
$ git branch -v
* master 1e1be20 third commit
ASUS@LAPTOP-9E4MMR4A MINGW64 /d/Git-Space/git-demo (master)
$ git branch hot-fix
ASUS@LAPTOP-9E4MMR4A MINGW64 /d/Git-Space/git-demo (master)
$ git branch -v
  hot-fix 1e1be20 third commit
* master  1e1be20 third commit

修改分支

在这里插入图片描述

切换和合并分支

基本语法

git checkout 分支名
git merge 分支名

案例实操

在这里插入图片描述

产生和解决冲突

冲突产生的表现为: 后面出现MERGING

ASUS@LAPTOP-9E4MMR4A MINGW64 /d/Git-Space/git-demo (master|MERGING)

在这里插入图片描述
冲突产生的原因:

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

查看状态(检测到有文件有两处修改)
在这里插入图片描述
解决冲突
人为地修改代码
编辑有冲突的文件,删除特殊符号,决定要使用的内容
特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix
修改完以后添加到暂存区,然后执行提交

注意:此时使用git commit 命令时不能带有文件名,如下图所示

在这里插入图片描述

github操作

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

拉取动作会自动提交到本地库,远程库代码会同步到本地库代码
clone会做如下操作:

  1. 拉取代码
  2. 初始化本地仓库
  3. 创建别名

GitHub邀请成员加入团队

  1. 选择邀请合作者
    在这里插入图片描述
  2. 填入想要合作的人
    在这里插入图片描述
  3. 复制地址并通过微信钉钉等方式发送给该用户
    在这里插入图片描述
  4. 接受邀请
    在这里插入图片描述
  5. 成功之后便可以看到远程仓库
    在这里插入图片描述

SSH免密登录

在这里插入图片描述
在这里插入图片描述

IDEA 集成 Git

一、 配置Git 忽略文件
对于与项目实际功能无关,不参与服务器上部署运行的文件,把它们忽略掉能够屏蔽IDE工具之间的差异。

  1. 忽略规则文件 xxx.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.g


hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
  1. 在.gitconfig文件中引用忽略配置文件(此文件在Windows的家目录之中)
[user]
name = Layne
email = Layne@atguigu.com
[core]
excludesfile = C:/Users/asus/git.ignore
注意:这里要使用“正斜线(/)”,不要使用“反斜线()”

二、定位 Git 程序
在这里插入图片描述
三、初始化本地库
在这里插入图片描述
选择要创建 Git 本地仓库的工程。
在这里插入图片描述
** 四、添加到暂存区**
右键点击项目选择 Git -> Add 将项目添加到暂存区。
在这里插入图片描述
五、提交到本地库
在这里插入图片描述
在这里插入图片描述
六、切换版本

在IDEA的左下角,点击 Version Control,然后点击Log查看版本。
在这里插入图片描述
右键选择要切换的版本,然后再菜单里面点击 Checkout Revision。
在这里插入图片描述
** 七、创建分支 **
选择 Git,在 Repository 里面,点击 Branches 按钮。
在这里插入图片描述
在弹出的 Git Branches 框里,点击 New Branch 按钮。
在这里插入图片描述
填写分支名称,创建 hot-fix 分支
在这里插入图片描述
然后再 IDEA 的右下角看到 hot-fix,说明分支创建成功,并且当前已经切换成 hot-fix 分支
在这里插入图片描述
八、切换分支
在 IDEA 窗口的右下角,切换到 master 分支。
在这里插入图片描述
然后在 IDEA 窗口的右下角看到了 master,说明 master 分支切换成功。
在这里插入图片描述
九、合并分支
在 IDEA 窗口的右下角,将 hot-fix 分支合并到当前 master 分支。
在这里插入图片描述
如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动提交本地库。
在这里插入图片描述
十、解决冲突
如图所示,如果 master 分支和 hot-fix 分支都修改了代码,在合并分支的时候就会发生冲突。
在这里插入图片描述
在这里插入图片描述
我们现在站在 master 分支上合并 hot-fix 分支,就会发生代码冲突。
在这里插入图片描述
点击 Conflicts 框里的 Merge 按钮,进行手动合并代码。
在这里插入图片描述
手动合并完代码以后,点击右下角的 Apply 按钮。
在这里插入图片描述
代码冲突解决,自动提交本地库。
在这里插入图片描述

IDEA 集成 GitHub

一、设置 GitHub 账号
在这里插入图片描述
如果出现 401 等情况连接不上的,是因为网络原因,可以使用以下方式连接:
在这里插入图片描述
然后去 GitHub 账户上设置 token。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
全选之后点击生成 token。
在这里插入图片描述
复制红框中的字符串到 idea 中。
在这里插入图片描述
二、分享工程到 GitHub
在这里插入图片描述在这里插入图片描述

来到 GitHub 中发现已经帮我们创建好了 gitTest 的远程仓库。

三、push 推送本地库到远程库

右键点击项目,可以将当前分支的内容 push 到 GitHub 的远程仓库中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程库的版本高!** 因此一个成熟的的程序员在手动改本地代码之前,一定会先检查下远程库跟本地库代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!**

四、pull 拉取远程库到本地库

右键点击项目,可以将远程仓库的内容 pull 到本地仓库。
在这里插入图片描述
在这里插入图片描述
注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动解决冲突的问题。

五、clone 克隆远程库到本地
在这里插入图片描述
在这里插入图片描述
为 clone 下来的项目创建一个工程,然后点击 Next。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。