在学校和工作中遇到的一些git用法

一、git的基础用法

常用 Git 命令清单

1、提交流程

csharp 复制代码
//查看当前哪些文件发生更改
git status   
​
//将本地代码 添加到 暂存区  [全文件名:添加这一个文件   .:所有的发生更改文件都添加到暂存区]
git add 全文件名|.
​
//将暂存区的代码 提交到暂存区--生成版本号
git commit -m "提交版本备注信息"
​
//将有版本的暂存区代码 推送到远程仓库的固定分支
git push origin master

2、拉取流程

  • 第一次克隆别人的项目
bash 复制代码
git clone 别人项目的地址(https://gitee.com/.....)
  • 拉取最新版本

    git pull origin master

3、小组项目

如果小组项目 在提交前 需要先拉取项目

  • 提交流程(个人经验---不一定正确)
csharp 复制代码
//先拉取一次项目
git pull origin master
​
git add .
git commit -m "xxx"
​
//再拉取一次项目
git pull origin master
​
//最后在push
git push origin master

4、git commit -m 规范(常用)

sql 复制代码
git commit -m "feat:新功能"
​
git commit -m "fix:修补bug"

5、其他语句

  • 切换分支:git checkout 分支名
  • 创建分支:git branch 分支名
  • 删除分支:git branch -d 分支名
  • 合并:git merge 分支名

6、合并分支到主分支

git merge 要合并的分支

然后git push

二、git的其他用法

1、在vscode 使用git

在我们创建完项目后,将代码传上 git 后,我们再进项目修改会发现在一些代码文件的右边后有一些不同颜色的大写字母就像这样

  • 关于字母的解释【网上找的】
  • A:A是Added的缩写。表示这个文件是新增的,它在本地仓库中不存在,但是已经被添加到暂存区,等待提交。
  • U:U是Untracked的缩写。表示这个文件是未跟踪的,它在本地仓库中不存在,也没有被添加到暂存区,需要你手动添加或忽略。
  • M:M是Modified的缩写。表示这个文件是被修改的,它在本地仓库中存在,但是已经被修改
  • D:D是Deleted的缩写。表示这个文件是被删除的,它在本地仓库中存在,但是已经被删除
1、基础用法

点击提交后会弹出对话框 【是】

【同步上去】

【确定】

此外,也可以直接点提交按钮进行提交

  • 合并分支【在合并之前可以先 git fetch一下】

  • git fetch可以定期检查远程仓库是否有新的提交,以保持你的本地仓库与远程仓库保持同步

    如果遇到代码冲突,要先解决冲突

2、git commit --amend 【使用强制推送的时候,一定要保证分支是私有的】

当我们代码已经提交之后,后面又去改了代码,不想重新commit (创建新的节点)就可以使用

sql 复制代码
git commit --amend
  • 步骤

    • git add #暂存修改
    • git commit --amend #修改最后一次的commit
    • git push --force #强制推送 (覆盖远程)
  • 如果遇到git 操作之后有一堆信息显示,但是不是报错,是正常信息,可以使用 :wq 退出

3、git rebase 变基分支

合并自己的分支用rebase,基于自己的分支进行rebase,不能是共有分支,必须是私有分支

变基就相当于把自己的分支进行一个更新

  • 步骤(假设自己分支名为feature,主分支为master)

    • 1、当要改自己的分支,但是自己的分支落后于主分支,将自己分支的代码先上传到远程分支仓库feature
    • 2、切到主分支msater,获取最新的代码 git fetch -p 之后合并
    • 3、本地master分支更新之后,切回到feature分支,进行变基分支 git rebase msater,将master分支更新的变基到feature分支上面
    • 现在feature本地分支是最新的,但是可能会和远程feature分支有冲突,所以不要合并 ,直接git push origin --force
  • 如果出现冲突,就查看冲突的地方,进行更改

4、git cherry-pick

假设我们现在有两个分支,一个master分支、一个feature分支

我们在feature分支上面提交了a和b,但是我们只想将b的修改合并到master上面,这个时候就可以用到 git cherry-pick

  • 步骤

    • 切换到需要pick的分支,比如上面所举例的master分支

    • git cherry-pick 【commit的提交的hash】如下图 git cherry-pick ac53f7c0fdfd2efa236e5dccb01ee39c8af1c443

5、git stash 暂存文件

假设现在有两个分支,一个dev1,一个dev2 我们在dev2里面改了代码,发现应该在dev1里面改这个代码的时候 或者,你要去dev1,但是不想讲dev2的代码提交到远程分支 这时候就可以用到git stash

  • 步骤

    • git stash (在dev2 分支执行)
    • git checkout dev1(切换到 dev1 分支)
    • git stash pop (在dev1 分支执行)
相关推荐
安冬的码畜日常6 小时前
【JUnit实战3_22】 第十三章:用 JUnit 5 做持续集成(下):Jenkins + JUnit 5 + Git 持续集成本地实战演练完整复盘
git·测试工具·ci/cd·jenkins·集成测试·持续集成·junit5
wxxka8 小时前
git使用
开发语言·git
舒一笑9 小时前
用数据照亮成长之路:PandaCoder Git 统计工具窗口
git·后端·intellij idea
测试修炼手册20 小时前
[测试工具] 如何把离线的项目加入成为git项目的新分支
git
递归不收敛1 天前
专属虚拟环境:Hugging Face数据集批量下载(无登录+国内加速)完整指南
人工智能·笔记·git·python·学习·pycharm
inx1772 天前
Git 分布式版本控制快速入门|掌握核心命令与实用技巧
git
用户12039112947262 天前
从零开始掌握Git:告别版本管理混乱,轻松驾驭代码人生
git
Vallelonga2 天前
Git 标准工作流程和 Git 使用(持续更新)
经验分享·git
l1t2 天前
在Lua用luasql-sqlite3库访问SQLite数据库
数据库·git·sqlite·lua