gitDay02

Git 的基本使用(在Git Bash中操作)

1. 配置全局信息(每个电脑只需要配置一次)

在提交的记录上,可以查看到配置的用户名和邮箱地址

git config --global user.name "用户名"    // 配置用户名的
git config --global user.email "邮箱地址" // 配置邮箱地址 

查看已经配置好的信息

  1. c:\users\用户名\.gitconfig

  2. git config --list --global // 查看全局所有的配置信息
  3. git config user.name
  4. git config user.email

2. 初始化Git仓库(每个项目只需要初始化一次)

  1. 将本地文件夹(项目文件夹,可以是空文件夹也可以是写过代码的文件)进行初始化

    # 进入到本地文件夹(项目文件夹) 输入以下命令
    git init
  2. 从远程服务器上下载已经存在的 Git 仓库

3. 查看当前文件状态(可做可不做,不影响后续的Git使用)

# 常用命令
git status
# 精简模式
git status -s
git status --short

文件的4中状态

  1. 未跟踪(Untracked) - 新建了一个文件的状态正在上传…重新上传取消

  2. 已暂存(Staged)- 将新建文件或者已修改文件添加到暂存区正在上传…重新上传取消

  3. 未修改(Unmodified)- 将暂存区的文件提交到Git仓库

  4. 已修改(Modified)- 将已经存到Git仓库的代码进行了修改

4. 将文件添加到暂存区(常用操作1)

# 将单独的文件添加到暂存区
git add 文件名
# 将所有已修改或新建文件添加到暂存区 - 常用
git add .

5. 将暂存区的代码提交到Git仓库(常用操作2)

git commit -m "本次提交的信息,一般都写完成的内容"

6. 将工作区的修改后的代码回退到上一次提交Git仓库的版本

git checkout -- 文件名

7. 将暂存区的文件移除掉

git reset HEAD 文件名

8. 跳过暂存区直接将修改的文件提交到Git仓库

git commit -a -m "本次提交的信息,一般都写完成的内容"

9. 移除Git仓库和工作区的文件

移除了文件之后,不管是哪种移除方式,移除的记录都会在暂存区保留,我们需要将暂存区移除记录提交到Git仓库中,然后再进行后续的操作

# 第一种,同时移除git仓库和工作区的文件
git rm -f 文件名
# 第二种,将文件从Git仓库中移除,保留工作区的文件(同时有红绿两种状态,提交暂存移除记录再修改好css文件后提交到暂存区,再提交到Git仓库)
git rm --cached 文件名

10. 查看提交版本记录(一般情况下是配合回退使用)

# 查看全部版本提交记录,如果记录很多就可能展示不全,按下回车就可以继续往后看,知道出现 End表示全部记录展示完毕,此时按下q键就可以退出查看模式,就可以继续输入命令 
# 第一个常用
git log
# 如果想查看最近提交的n(具体的数字)条记录
git log -2
# 展示n(具体的数字)条记录并将每条结果展示在一行上
git log -2 --pretty=oneline
# 按照自定义格式查看提交记录 %h表示记录id,%an表示作者,%ar表示提交时间,%s表示提交备注
git log -2 --pretty=format:"%h|%an|%ar|%s"

11. 回退到指定版本(恢复代码到某一阶段)

先查看提交历史,为了获取每一次提交的id

# 提交的id可以是前几位字符(一般5位以上),在回退之前一定要把所有的提交记录做备份,因为回退之后就无法看到回退这个版本之后的记录了,如果要返回的话仍然需要id
git reset --hard 提交的id
# 查看之前操作步骤,可以查看回退之前的当前id
git reflog

今天学的常用内容

# 1. 初始化仓库,每个项目只要用到了 Git 就需要执行一次
git init
# 2. 将工作区写好的代码提交到暂存区
git add .
# 3. 将暂存区的文件提交到Git仓库
git commit -m "备注"
# 每完成一部分任务,循环执行2、3步骤

# 如果遇到意外情况,比如说客户要求不要新代码了,要之前的代码,使用回退命令
# 1. 查看每一次提交的版本记录,查看备注和提交id
git log
# 2. 回退到指定版本
git reset --hard 提交id

Git第二天 - 网络操作和分支

关联命令分析

1. 网上空仓库和本地仓库使用HTTPS地址关联(本地已有仓库,生成网络仓库)

使用仓库HTTPS地址,在每次提交时都会验证gitee邮箱和密码

  1. 创建网上空的仓库

  2. 选择HTTPS地址

  3. 在本地创建空的项目文件夹

  4. git init初始化git仓库

  5. 创建任意一个文件,建议还是创建README.md

  6. git add .git commit -m "消息"将文件添加到git仓库

  7. 复制远程的两行命令,将本地仓库推送到网上仓库

git remote add origin 你自己的仓库的HTTPS地址
git push -u origin "master"

2. 网上空仓库和本地仓库使用SSH地址关联(本地已有仓库,生成网络仓库)

因为使用HTTPS总是需要验证邮箱和密码,使用SSH就不需要每次都做验证

1. 生成并配置公钥

  1. 打开命令行输入 ssh-keygen -t ed25519 -C "你的Gitee邮箱地址",然后连续敲击回车3次

  2. 进入 C:\用户(Users)\用户名\.ssh\文件夹,如果看到id_ed25519id_ed25519.pub就代表生成公钥成功

  3. 进入Gitee点击右上角头像 -> 设置 -> 左侧的安全设置里面的SSH公钥

  4. 在标题输入能让你分辨出是哪台电脑的标题就可以,可以是电脑型号,也可以是‘家里的电脑’或者‘单位的电脑’这样的文字

  5. 打开id_ed25519.pub文件,复制里面的全部内容,粘贴到公钥的输入框中

  6. 点击确定

注意:以上步骤,一个电脑只需要做一次

2. 网上空仓库和本地仓库使用SSH地址关联(本地已有仓库,生成网络仓库)

  1. 创建网上空的仓库

  2. 选择HTTPS地址

  3. 在本地创建空的项目文件夹

  4. git init初始化git仓库

  5. 创建任意一个文件,建议还是创建README.md

  6. git add .git commit -m "消息"将文件添加到git仓库

  7. 复制远程的两行命令,将本地仓库推送到网上仓库

git remote add origin 你自己的仓库的SSH地址
git push -u origin "master"

###

3. 根据网上仓库生成本地仓库(常用,第一:刚开始做项目时,什么都没有。第二:初到公司,同事已经完成了一部分代码,我们直接clone下载就好)

  1. 创建网上仓库,在创建时需要勾选设置模板(核心目的为了生成一个文件,任意文件都行)

  2. 点击网上仓库的 克隆\下载按钮

  3. 选中ssh标签,并复制ssh地址

  4. 在本地打开项目文件夹存放的路径

  5. 在文件夹上按右键打开git命令行

  6. 在命令行中输入一下命令

    git clone 你刚复制的ssh地址

4. 将本地写好的代码推送到网上

只要将本地文件保存到Git仓库后,直接使用git push就可以提交到网上

  1. 使用git add .将文件添加到暂存区

  2. 使用git commit -m "消息"把文件提交到git仓库

  3. 使用git push将代码推送到网上

  4. 跟上午的区别:

    # 先有的本地仓库,所以没有设置远程仓库地址关联,该命令一个项目只需要输入一次(现有本地再有远程才需要,clone的项目不需要)
    git remote add origin 你自己的仓库的SSH地址
    # 将本地代码推送到网上同时设置默认的推送分支,上午方式也只需要输入一次-u后面的内容,以后直接git push, clone的项目不需要-u后面的内容,只用git push就好
    git push -u origin "master"

    如果远程仓库代码比本地的要新,输入 git pull 命令来拉去最新远程代码

5. 分支

主分支是用来保存完整功能代码的,功能分支才是用来开发的,所以我们需要新建分支,在新建的功能分支上做开发

注意,在功能分支上开发代码仍然需要将代码提交到Git仓库!

5.1 查看分支

git branch
# 注意,展示的分支列表前面有 * 表示该分支位当前所在分支

5.2 创建分支

git branch 分支名称(英文)

5.3 切换分支

git checkout 分支名称

5.4 创建的同时并切换分支

git checkout -b 分支名称

5.5 合并分支

在功能分支上开发完功能并提交到git仓库后,通过测试确定无误,需要将功能分支的代码合并到主分支

# 1. 切换到主分支
git checkout master
# 2. 合并分支
git merge 分支名称

5.6 删除分支

当完成一个功能并把功能分支的代码合并到主分支后,功能分支就没有用了,就可以删除了

git branch -d 分支名称

5.7 合并冲突

当对同一个文件进行了不同的修改(改了同一行代码)就会发生冲突

在代码上用vscode查看时会出现4个文字按钮

  1. accept current changes - 保留<<<<<<<<和=======之间的代码

  2. accept incoming changes - 保留========和>>>>>>>之间的代码

  3. accept both changes - 两者都保留(常用)

  4. Compare changes - 对比两个代码的不同

  5. 手动的把代码进行合并

注意:解决冲突后一定要把解决好的代码提交到Git仓库中

5.8 将本地分支推送到远程仓库中

-u 后面的内容设置默认推送,如果需要连续推送该分支代码那么只需要在第一次写-u及后面的内容,后续直接使用git push就可以了,如果需要更改推送别的分支,需要再次使用-u及后面的内容更改默认推送分支

git push -u origin(远程仓库名字,git remote add 来设置的) 本地分支的名称

5.9 查看远程分支列表

git remote show 远程仓库名(origin)

6.0 跟踪分支(单独下载一个分支的代码)

# 1. 下载远程仓库最新代码
git pull
# 2. 本地没有,也不需要改名
git checkout 远程分支名
# 3. 本地有了,或者需要改名
git checkout -b 本地分支名称 远程仓库名/远程分支名

6.1 如果远程仓库比本地仓库的代码要新,需要更新本地代码(在工作中常见)

git pull

6.2 删除远程分支

git push 远程仓库名(origin) --delete 远程分支名
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值