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

相关推荐
天远Date Lab几秒前
Python实战:基于天远二手车估值API构建企业车队资产数字化管理方案
大数据·人工智能·python
北极九章ArcticData6 分钟前
销售管理团队如何用ChatBI实现数据驱动管理?
大数据·人工智能·数据分析·chatbi
jerryinwuhan15 分钟前
Spark安装配置2
大数据·分布式·spark
恼书:-(空寄16 分钟前
深入理解 Elasticsearch 写入与查询机制
大数据·elasticsearch·搜索引擎
TDengine (老段)17 分钟前
TDengine IDMP 0-阅读指南
大数据·数据库·人工智能·时序数据库·tdengine·涛思数据
黄昏回响28 分钟前
计算机系统基础知识(补充篇):数据库——数据仓库、数据中台与大数据技术详解
大数据·数据库·数据仓库
ACP广源盛1392462567334 分钟前
ASW3810@ACP#4 路差分 2:1/1:2 双向多路复用 / 解复用器 产品规格与应用总结
大数据·单片机·嵌入式硬件·计算机外设·电脑
dinl_vin35 分钟前
一文通关Spark
大数据·分布式·spark
AI营销资讯站37 分钟前
AI营销内容增长瓶颈?原圈科技以AI Agents破局之道
大数据·人工智能
hellolianhua39 分钟前
测试集群hdfs和mapreduce
大数据·hadoop·hdfs