git操作

一、独立开发项目

1.新项目克隆代码:git clone git地址

2.git add -A

3.git commit -m "提交代码"

4.git push origin master(要提交的分支名称)

5.git pull origin master (日常开发拉最新代码)

二、协同配合的项目

1.git clone 地址

2.git checkout master

3.git pull origin master

4.git checkout -b feature_xuxj

5.git push -u origin feature_xuxj

主分支:master

保护分支:relsase

子分支:feature_xuxj

提交代码过程:

1.git pull origin relsase

2.git add -A

3.git commit -m "提交代码"

4.git push origin feature_xuxj

5.git merage 合并代码,一般是手动合并,没问题再确认合并,这一步不一定是命令行合并

三、常见命令

1.git log #查看提交日志

2.git log --oneline #查看提交历史,找到要撤销的提交的 hash

3.git branch backup-branch #创建备份分支

3.代码回滚的办法:

方法一:重置到指定提交(彻底删除后续提交)

git reset --hard +(对应的hash)

方法二:反向提交(安全撤销,保留历史)

1. 查看提交历史,找到要撤销的提交的 hash

git log --oneline

2. 创建反向提交(撤销指定版本的更改)

git revert <commit-hash> # 例:git revert a1b2c3d

3. 解决冲突(如有)并提交

git add .

git commit -m "Revert commit: a1b2c3d"

4. 推送到远程

git push origin <分支名>

4.重置本地代码(用git最新的全量代码覆盖本地除依赖外的全部代码)

git fetch origin

git reset --hard

注意:git pull origin master 是拉取最新的代码,和本地不一样的代码或者文件会进行替换,如果本地有不一样的文件会保留!!!

5.强制推送(不太建议这么干)

git push --force #强制推送风险:会覆盖远程历史,确保团队其他成员知晓

6.git init #初始化新仓库

7.基础操作:

初始化仓库

https://gitee.com/ruowu666666/cool-car.gitgit

克隆远程仓库

git clone https://github.com/user/repo.git

查看当前状态

git status

添加所有修改到暂存区

git add .

提交更改

git commit -m "描述信息"

推送代码到远程

git push origin 分支名

8.分支管理:

创建新分支

git branch feature-xxx

切 main

git switch main # (Git 2.23+)

创建并切换分支

git checkout -b hotfix-xxx

删除本地分支

git branch -d 分支名

查看所有分支(含远程)

git branch -a

关联本地分支到远程

git push -u origin 分支名

9.代码回退:

撤销工作区修改(单个文件)

git checkout -- 文件名

撤销暂存区的修改

git reset HEAD 文件名

回退到上个版本(保留修改)

git reset --soft HEAD~1

彻底回退到某提交

git reset --hard commit_id

撤销某次提交(生成新提交)

git revert commit_id

10.协作同步:

拉取远程更新(合并)

git pull origin 分支名

拉取远程更新(变基)

git pull --rebase origin 分支名

强制推送(覆盖远程)

git push --force-with-lease # 比--force更安全

解决冲突后继续合并

git merge --continue

解决冲突后继续变基

git rebase --continue

11.查看信息:

查看提交历史

git log --oneline --graph -n 10

查看文件修改历史

git blame 文件名

查看工作区与暂存区差异

git diff

查看最近提交内容

git show HEAD

搜索提交历史

git log -S "关键字"

12.高级技巧

临时保存修改

git stash save "备注"

git stash pop # 恢复

修改最后一次提交

git commit --amend

交互式变基(合并/修改提交)

git rebase -i HEAD~3

清理未跟踪文件

git clean -fd

找回误删的提交

git reflog # 找到commit_id后reset

13.标签管理:

创建标签

git tag v1.0.0 -m "正式版"

推送标签到远程

git push origin --tags

删除远程标签

git push origin :refs/tags/v1.0.0

14.配置相关:

设置用户名/邮箱

git config --global user.name "Your Name"

git config --global user.email "email@example.com"

生成SSH密钥

ssh-keygen -t ed25519 -C "your_email@example.com"

设置默认编辑器(VSCode)

git config --global core.editor "code --wait"

15.如果是重新换个文件夹克隆的项目

克隆之后本地还运行修改了,但是想提交代码

1.git branch 运行之后检查是否有你要提交的分支:例如如果看不到 feature_xuxj,说明你不在这个分支上。

2.git checkout -b feature_xuxj 或者新版 git switch -c feature_xuxj

3.git push -u origin feature_xuxj -u 会把本地分支与远程分支关联起来,以后只需要 git push 即可

注意:本地叫 feature_xuxj,远程叫 feature_xuxj_dev,可以:git push origin feature_xuxj:feature_xuxj_dev

总结:当遇到上述问题时 git status + git branch

相关推荐
字节跳动数据平台3 小时前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术4 小时前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康6 小时前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康1 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天1 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
Elasticsearch2 天前
如何使用 Agent Builder 排查 Kubernetes Pod 重启和 OOMKilled 事件
elasticsearch
vibecoding日记3 天前
为什么我就想要「线性历史 + Signed Commits」,GitHub 却把我当猴耍 🤬🎙️
git·编程工具
Elasticsearch3 天前
通用表达式语言 ( CEL ): CEL 输入如何改进 Elastic Agent 集成中的数据收集
elasticsearch
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive