IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Git常用基本命令,日常操作 -> 正文阅读

[开发工具]Git常用基本命令,日常操作

1.git clone

从远程仓库第一次拉代码一般使用的就是git clone命令

# 比如拉取gitee仓库apollo代码到本地
git clone https://gitee.com/apolloconfig/apollo.git

注意:第一次克隆的时候一般是需要输入账密的,按要求输入即可,公司内网需要连vpn的先连接好vpn再拉。

2.git config

查看、修改git配置的命令,使用较少

# 查看当前项目git配置
git config --list
git config --global --list

# 重置用户名、邮箱
git config user.name 黄飞鸿
git config user.email huangfeihong@fh.com

注意:加--global标识全局修改覆盖,否则只针对本项目,一般name、email可以全局替换自己想要展示的名字即可。

3.git pull & git fetch

拉取远程代码更新至本地,一般可以结合使用;有合作开发人员提交推送之后想要拉下来使用或者查阅。

# 直接抓取
git fetch

# 拉取合并
git pull

4.git branch

查看项目分支

# 查看本地分支
MacBook-Pro-3:cgs-ms mingqi$ git branch
  master
* release-dev
# 查看全部分支

MacBook-Pro-3:cgs-ms mingqi$ Git branch -a
  feature-bug
  master
* release-dev
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev-release

5.git checkout

用于本地开发是分支切换变更的命令

# 普通切换本地分支,git checkout 「branch-name」
git checkout master
# 强制check一个没有的新分支出来
git checkout -B new-branch

# 新分支推送远程关联
git push --set-upstream origin new-branch

6.git status

查看当前项目自己的改动情况,直观了解动了哪些文件

# 开发过程和提交前可查阅
MacBook-Pro-3:cgs-ms mingqi$ git status
位于分支 release-dev
您的分支与上游分支 'origin/release-dev' 一致。

无文件要提交,干净的工作区
MacBook-Pro-3:cgs-ms mingqi$ 

7.git restore

存在本地文件改动但不想要,可以直接丢弃不保存

MacBook-Pro-3:cgs-ms mingqi$ git status
位于分支 release-dev
您的分支与上游分支 'origin/release-dev' 一致。

尚未暂存以备提交的变更:
  (使用 "git add <文件>..." 更新要提交的内容)
  (使用 "git restore <文件>..." 丢弃工作区的改动)
        修改:     src/main/java/com/service/impl/ServiceImpl.java

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
MacBook-Pro-3:cgs-ms mingqi$ git restore src/main/java/com/service/impl/ServiceImpl.java
MacBook-Pro-3:cgs-ms mingqi$ 

8.git add

将为添加至git管理的文件添加到git管理,一般在项目目录下直接使用

# .标识当前目录
git add .

9.git commit

用于代码修改删除新增之后的本地提交,仅提交至本地仓库

# 普通提交
git commit -m 'feat: 1.新增xxx功能;

10.git log

查看git提交日志

MacBook-Pro-3:cgs-ms mingqi$ git log
commit 1056f89685bc90b88952724a1382d66145bcecb7 (HEAD -> release-dev, origin/release-dev)
Author: mingqi <gaomingqi@xxxx.com>
Date:   Thu Oct 27 11:03:22 2022 +0800

    fix: 1.format code<A3><BB>

commit 3b7acda5bfe1361cf24ecafa3c63fa4cf7acbfec
Author: mingqi <gaomingqi@xxxx.com>
Date:   Wed Oct 26 22:03:00 2022 +0800

    fix:<CE><DE>

11.git reset

一般是commit提交之后有问题,想放弃或者修改,又不想推送到远程

# 放弃本次未push的commit记录,代码不丢失,相当于没有commit
git reset --soft HEAD~1

# 代码回退(切换)至某次提交记录,如果存在未push的代码会丢失
git reset --hard 「commitId」
# commitId可以通过git log查看
git reset --hard 1056f89685bc90b88952724a1382d66145bcecb7

注意:第二个回退到制定commitId慎重操作,尽量不要跨commit记录回退,除非都是自己的提交且清晰记录所有改动!!!

12.git push

将commit提交至本地仓库的代码推送至origin远程分支仓库

# 普通推送
MacBook-Pro-3:cgs-ms mingqi$ git push
枚举对象: 27, 完成.
对象计数中: 100% (27/27), 完成.
使用 16 个线程进行压缩
压缩对象中: 100% (11/11), 完成.
写入对象中: 100% (14/14), 1005 字节 | 1005.00 KiB/s, 完成.
总共 14(差异 4),复用 0(差异 0),包复用 0
remote: 
remote: To create a merge request for release-dev, visit:
remote:   http:/merge_requests/new?merge_request%5Bsource_branch%5D=release-dev
remote: 
To http:ms.git
   1056f896..174efc0e  release-dev -> release-dev
MacBook-Pro-3:cgs-ms mingqi$ 
# 新增分支可以直接推送到远程
git push --set-upstream origin new-branch

13.git merge?

项目上线之前一般需要将master分之代码合并至版本开发分支

# 可以切换到master分支拉取最新代码之后,再回版本开发分之合并本地master
git checkout master          # 先切换到master
git fetch 
git pull
git checkout release-dev     # 回到版本开发分支
git merge master             # 合并本地master
有冲突需要解决,然后走提交推送流程
git commit -m 'feat: 1.merge branch master into current;2.deal conflict;'
git push
# 直接合远程master至本地,在确认修改较少情况下,否则不建议
git merge origin master

14.git tag

项目上线之前最后一步是打tag,用于标识线上服务的瞬时状态

# 普通tag,git tag #{tag_name}
git tag tag_202210261445
# 添加备注,git tag -a #{tag_name} -m #{message_info}
git tag -a tag_202210261445 -m '新增xxx功能,修改xxx bug'
# 查看所有tag
git tag

15.提MR

项目上线之后要在git仓库提交merge request请求,请求合并版本开发分支至master分支。

(全文完)

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 12:20:15  更:2022-10-31 12:21:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/20 7:18:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码