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

相关推荐
龙亘川8 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
BJ_Bonree8 小时前
博睿数据亮相第41届BFSI IT Summit Thailand
大数据·人工智能·物联网
好焊孙辉8 小时前
六成份额之后:鸿栢科技扩大产业规模的几点思考
大数据·人工智能·科技
跨境小彭8 小时前
Temu 全托管模式下,SKU 利润核算的实践复盘
大数据·运维·人工智能·自动化·temu
数智园区合作社9 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai
BIBI20499 小时前
换 Git 托管平台怎么做?基于 TortoiseGit 的跨平台迁移教程
windows·git·tortoisegit·问题解决·版本控制·最佳实践
2601_9707038310 小时前
工业除湿机租赁:把一份租金合同拆开看
大数据·数据结构·算法·数据库架构·推荐算法
心疼你的一切11 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python
王中阳Go12 小时前
5.27 分钟干完后端和全部测试:一场三小时笔试的五个失分点,四个不在代码上
大数据·数据库·人工智能·后端·大语言模型