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时,需要根据具体的项目需求和代码管理策略来决定。

相关推荐
Flink_China8 分钟前
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
大数据·flink
jiedaodezhuti2 小时前
Flink Checkpoint失败问题分析与解决方案
大数据·flink
海豚调度2 小时前
(二)一文读懂数仓设计的核心规范:从层次、类型到生命周期
大数据·数仓·技术规范
在未来等你2 小时前
Elasticsearch面试精讲 Day 15:索引别名与零停机更新
大数据·分布式·elasticsearch·搜索引擎·面试
IT研究室3 小时前
大数据毕业设计选题推荐-基于大数据的国内旅游景点游客数据分析系统-Spark-Hadoop-Bigdata
大数据·hadoop·spark·毕业设计·源码·数据可视化·bigdata
Lx3523 小时前
YARN资源调度优化:最大化集群利用率
大数据·hadoop
智能化咨询3 小时前
【56页PPT】数字化智能工厂总体设计SRMWCSWMSMES&EMS系统建设方案(附下载方式)
大数据·云计算
在未来等你4 小时前
Elasticsearch面试精讲 Day 12:数据建模与字段类型选择
大数据·分布式·elasticsearch·搜索引擎·面试
Leo.yuan4 小时前
不同数据仓库模型有什么不同?企业如何选择适合的数据仓库模型?
大数据·数据库·数据仓库·信息可视化·spark
小毛驴8504 小时前
所有微服务部署都使用一个git地址,并且通过docker部署各个服务的情况下,如何编写mvn指令来处理各个服务。
git·docker·微服务