Git基本操作

打开git命令窗口

git --v查看版本

设置用户名和邮箱

git config --global user.name "username"

git config --global user.email "email_number"

查看配置信息

git config --global list

很多文件操作命令和Linux一样

指定名称就会多一个


git status 查看文件夹状态

git add file1.txt

git commit -m "这是第一次提交"

(只提交暂存区中的内容,也就是被git add的才会被commit)

git add . 将当前目录所有文件放到暂存区如果git commit 没有加文字,就会进入vim模式在顶行输入提交信息,也就是每次commit必须有提交信息

这个提交信息不建议乱写,这样对于之后查看文件很不方便,版本管理起来也很难受

vim的用法和Linux中一致,i--插入模式,ESC--回到普通模式,:--底行模式,wq保存

git -log 查看仓库提交历史记录 --oneline简版

git reset --soft /--hard /--mixed 版本号

git 中的所操作都是可以回溯的,

git reflog ,再使用上面的git reset对应的版本号即可

直接使用rm -rf 删除文件,只是在本地删除,暂存区中没有被删除

git ls-files 查看暂存区文件内容

rm删除之后还要用git add .

或者是直接使用

git rm

这些操作之后都要进行git commit

.gitignore忽略文件,一般是一些log和其他在该文件中包含的文件

git push 和git pull是git分布式仓库的同步操作

创建git仓库

bash 复制代码
mkdir git-repo
cd git-repo
git init 
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/have-a-book/git-repo.git
git push -u origin "master"


冲突会显示成这样,要解决冲突

bash 复制代码
<<<<<<< HEAD  
<your-modified-code>  
=======  
<original-code>  
>>>>>>> <commit-id>

修改冲突部分,选择要保留的内容。你可以保留原始代码,删除你的修改;或者保留你的修改,删除原始代码。也可以将两者结合起来,创建一个新的解决方案。

在Git中,merge和rebase是两种不同的合并代码的方式。

  1. Merge: 当你需要将一条分支的修改合并到另一条分支时,可以使用merge命令。例如,如果你有一个名为"feature"的分支,并且这个分支已经开发完成,你想要将这个分支的修改合并到"main"分支,那么你可以在"main"分支上执行"git merge feature"。在合并过程中,如果遇到代码冲突,需要手动解决冲突后,再执行"git commit"提交。 Merge操作会保留所有的commit历史,并且在merge后,会在当前分支上生成一个新的commit。
  2. Rebase: 当你需要将一条分支的修改重写到另一条分支上时,可以使用rebase命令。例如,如果你有一个名为"feature"的分支,并且你想要将这个分支的修改重写到"main"分支上,那么你可以在"feature"分支上执行"git rebase main"。在rebase过程中,Git会尝试将你的修改应用到"main"分支的最新提交上。 Rebase操作会重写历史记录,将所有的commit按照时间顺序线性地排列。与merge不同,rebase不会保留merge的历史记录,也不会生成新的commit。

总之,merge和rebase都可以实现代码的合并,但是它们的工作方式和使用场景有所不同。merge保留了所有分支的历史记录和合并记录,而rebase则将这些记录线性化。因此,在选择使用merge还是rebase时,需要根据具体的项目需求和代码管理策略来决定。

相关推荐
IT新视界1 小时前
大数据开发工具-Transwarp Data Studio
大数据
donoot1 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
Elastic 中国社区官方博客2 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
xixixi777772 小时前
三大 AI 安全里程碑:Akamai 高危风险预警、智能体水印强制落地、PQC 量子安全全产业链统一
大数据·人工智能·安全·ai·大模型·智能体·政策
imbackneverdie4 小时前
AI4S不止于分子药物:以MedPeer为代表的科研基建打开产业新增量
大数据·人工智能·算法·aigc·科研·学术·ai 4s
敲代码的嘎仔5 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
ApacheSeaTunnel5 小时前
为什么 Data Ingestion 还没有被 Fivetran/Airbyte 完全解决?
大数据·开源·数据集成·seatunnel·技术分享·数据同步·airbyte·fivetran
启雀AI6 小时前
科技企业如何沉淀研发知识,减少重复开发和经验流失?
大数据·科技·软件需求·知识库·知识管理
刘马想放假6 小时前
Git 从入门到进阶:一篇吃透版本管理的实战指南
git·gitlab
大大大大晴天6 小时前
Hudi技术内幕:Schema Evolution原理与实践
大数据