[Git使用] 基础2

1. 常见指令

1.1 配置

git config --global user.name “Tony”
git config --global user.email “tony@gmail.com”

1.2 创建

git init
初始化一个 Git 仓库,它将创建一个 .git 文件夹,后续的操作记录都会在此文件夹里,相当于 Git 的数据库。

1.3 查看关联的远程仓库列表

git remote -v

$ git remote -v
origin  https://gitee.com/XX/as_test.git (fetch)
origin  https://gitee.com/XX/as_test.git (push)
当你执行 git fetch 或 git pull 时,Git 会从这个 URL 拉取最新的代码。当你执行 git push 时,Git 会将你的代码推送到这个 URL 对应的远程仓库。
1.增加一个远程仓库
	git remote add 名称 远程仓库url
    git remote add origin 远程仓库url
2.删除
	git remote remove origin
3.提交到远程仓库
	git push origin master  用于将本地分支(这里是 master 分支)的更新推送到远程仓库(origin) 
4.clone远程源
	git clone 远程源地址

1.4 添加和提交文件

git add (工作区 --> 暂存区)
git commit -m “描述” (暂存区 --> 本地仓库)
git commit -a -m (-a参数可以同时完成两部操作)

1.5 查看记录

git status
git log (–oneline) 简洁显示
git log after/before 2025-7-18 查看指定时间的日志
git ls-files 查看暂存区的内容
git reflog命令:可以叫做显示可引用的历史版本记录。
在这里插入图片描述

1.6 回退和查看差异

git reset (默认为mixed)
小技巧:HEAD~数字 指定当前第几个版本

    	# 回退到上一个版本:
        	git reset --hard HEAD^
           	git reset ----hard HEAD~
        # 回滚到上三个版本:
        	git reset --hard HEAD^^^
            git reset --hard HEAD~3

在这里插入图片描述
git diff 默认查看工作区和缓存区的区别
git diff HEAD 工作区和版本库的区别
git diff --cached 暂存区和版本库的区别

git diff id1 id2 + 文件名 比较两个特定版本的特定文件的区别
在这里插入图片描述

1.7 删除文件

git rm 文件名
一定要记得git commit 这样才能版本库中删除

在这里插入图片描述

1.8 分支

1.创建分支
	git branch 分支名
    git branch -b 分支名  # 创建并切换
2.切换分支
	git checkout 分支名 
	由于checkout可能存在歧义,新版本使用switch
4.删除分支
	git branch -d 分支名   # 加-f是强制删除,不加-f,子分支没有和主分支合并是不能删除的。
5.合并分支
	git merge 分支名  # 将分支名合并到当前的分支
	git rebase # 变基
6.查询当前分支
	git branch
7.查看分支图
	git log --graph --oneline
8.删除分支
	git branch -d 分支名 (该分支已经被合并到别的分支上)
	git branch -D 分支名(强制删除分支)

1.9 操作远程仓库

git push 使用本地的对应分支来更新对应的远程分支
$ git push <远程主机名> <本地分支名>:<远程分支名>
$ git push origin master  将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新
git pull 获取并合并其他的厂库,或者本地的其他分支。
git pull <远程主机> <远程分支>:<本地分支>
git pull origin master:my_test 将origin厂库的master分支拉取并合并到本地的my_test分支上
git pull origin master  如果省略本地分支,则将自动合并到当前所在分支上
git fetch 只是从远程库下载最新代码,但并不自动合并到本地分支。

2. 相关概念

  • Git 文件的三个状态

在这里插入图片描述

  • Git 文件的生命周期图

在这里插入图片描述

3. 工作流模型

GitFLow模型
main主分支
hotfix 线上版本bug修复
release 版本发布分支
dev 开发分支
feature 等开发完后合并回开发分支
参考连接

4. 常见问题

4.1 AS上配置Git

添加链接描述
本地配置:AS设置Git路径 -> 版本控制Git创建仓库 -> 右键目录add -> commit

4.2 合并冲突

在这里插入图片描述

4.3 merge和rebase的区别

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

  • Git Merge
    概述
    git merge 是一种非破坏性操作,用于将两个分支的更改合并到一起。它通过创建一个新的“合并提交”(G’),将两个分支的历史联系起来。
    优点
    保留历史完整性:合并操作保持了两个分支的原始历史不变。
    简单直观:对于 Git 新手来说, merge 更易于理解和操作。
    使用场景
    git merge 特别适用于团队协作环境,其中保留完整的历史记录和明确的合并点是有价值的。
  • Git Rebase
    概述
    git rebase 重新定位分支上的更改,将它们放在另一分支的最新更改之上。这通常涉及重写提交历史,使其看起来更加线性。
    优点
    清晰的线性历史: rebase 为项目提供了一个干净、直线的历史。
    避免冗余合并提交:有助于减少不必要的合并提交。
    使用场景
    rebase 是理想的选择,当你想要整理个人分支上的提交,或者在团队中共享更改之前更新你的特性分支。

4.4 git log和git reflog的区别

添加链接描述
使用git log命令只可以查看到HEAD指针及其之前的版本信息,如果版本发生过回退操作,则可能会出现,HEAD指针之后仍存在历史提交版本的情况,而这些提交版本信息通过git log命令是看不到的。

4.5 git fetch和git pull 区别

添加链接描述
Git fetch命令只是从远程库下载最新代码,但并不自动合并到本地分支。它只是将最新代码下载到本地仓库的一个特殊的分支,称为远程跟踪分支。
Git pull命令是从远程库获取最新代码并自动合并到本地分支的快捷方式。它实际上包含了两个操作:fetch和merge。

4.6 在Push代码时遇见冲突时用Git Merge还是Git Rebase?

添加链接描述

如果选择使用 git merge 来解决 git push 时的冲突,你可以先将远程分支的更改合并到你的本地分支。
操作步骤:
先拉取远程分支的更新: git pull 或 git fetch 后跟 git merge。
解决可能出现的任何合并冲突。
完成合并后再次尝试 git push。

4.7 git commit --amend

git commit --amend 作用主要在于:让“本次Amend Commit的提交”覆盖掉最近一次提交的错误信息。并且gitk图形化界面上看不到被覆盖掉的错误信息记录,git log上也看不到被覆盖掉的错误信息记录。
添加链接描述

4.8 git push

要将本地代码推送到远程仓库的指定分支,你可以使用 `git push` 命令。以下是实现的步骤:
1. 确定当前分支:
   确保你在正确的本地分支上。你可以使用 `git branch` 查看当前分支,或者用 `git checkout` 切换到目标分支。
2. 推送本地分支到远程分支:
   使用 `git push` 命令指定本地分支和远程分支。语法如下:
   git push <remote> <local-branch>:<remote-branch>
   - `<remote>` 是你想推送到的远程仓库的名字,通常是 `origin`。
   - `<local-branch>` 是你当前的本地分支名。
   - `<remote-branch>` 是你希望将本地分支推送到的远程分支名。
   例如,如果你要将本地的 `feature-branch` 推送到远程的 `development` 分支,你可以运行:
   git push origin feature-branch:development
3. 推送当前分支到远程分支(如果当前分支和远程分支相同):
   如果你想将当前分支推送到与本地分支同名的远程分支,可以简化命令:
   git push origin <branch>
   这里的 `<branch>` 是你当前的本地分支名称,它将推送到远程仓库中同名的分支。
4. 推送到新分支:
   如果你想将本地分支推送到一个新的远程分支,可以直接使用 `git push`:
   git push origin <local-branch>:<new-remote-branch>
5. 确认推送结果:
   推送完成后,你可以使用 `git branch -r` 查看远程分支,确认推送是否成功。
这些步骤帮助你将本地的更改推送到远程仓库的指定分支。如果你有其他问题或需要进一步的帮助,请随时告知!

4.9 拉取指定远程分支的代码

在这里插入图片描述

常见场景及个人理解

每次提交前,先pull 远程代码,然后add commit push

如果需要修改提交 就用commit amend (应该是对方还没有review的情况下能用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值