Git基本操作
创建文件
[root@gitlab git_data]# touch README [root@gitlab git_data]# git status
添加文件跟踪
[root@gitlab git_data]# git add ./*
[root@gitlab git_data]# git status
[root@gitlab git_data]# git status
由工作区提交到本地仓库
[root@gitlab git_data]# git commit -m 'first commit'
查看git的状态
[root@gitlab git_data]# git status
# 位于分支 master
无文件要提交,干净的工作区
# 位于分支 master
无文件要提交,干净的工作区
[root@gitlab git_data]# git push -u origin master
添加新文件
git add * 添加到暂存区域
git commit 提交git仓库 -m 后面接上注释信息,内容关于本次提交的说明,方便自己或他人查看
git commit 提交git仓库 -m 后面接上注释信息,内容关于本次提交的说明,方便自己或他人查看
修改或删除原有文件
常规方法
git add *
git commit
git commit
简便方法
git commit -a -m "注释信息"
-a 表示直接提交
删除
# 删除文件
[root@gitlab git_data]# rm 123 -f
[root@gitlab git_data]# ls
[root@gitlab git_data]# git status
[root@gitlab git_data]# ls
[root@gitlab git_data]# git status
查看历史记录
• git log #→查看提交历史记录
• git log -2 #→查看最近几条记录
• git log -p -1 #→-p显示每次提交的内容差异,例如仅查看最近一次差异
• git log --stat -2 #→--stat简要显示数据增改行数,这样能够看到提交中修改过的内容,对文件添加或移动的行数,并在最后列出所有增减行的概要信息
• git log --pretty=oneline #→--pretty根据不同的格式展示提交的历史信息
• git log --pretty=fuller -2 #→以更详细的模式输出提交的历史记录
• git log --pretty=fomat:"%h %cn" #→查看当前所有提交记录的简短SHA-1哈希字串与提交着的姓名。
还原历史版本
git reset --hard hash
git reset --hard HEAD^ #→还原历史提交版本上一次
git reset --hard 3de15d4 #→找到历史还原点的SHA-1值后,就可以还原(值不写全,系统
会自动匹配)
还原未来数据
git reflog #→查看未来历史更新点
对比数据
git diff可以对比当前文件与仓库已保存文件的区别,知道了对README作了什么修改
后,再把它提交到仓库就放⼼多了。
git diff README
分支切换
[root@gitlab git_data]# git branch linux
[root@gitlab git_data]# git branch
linux
* master
[root@gitlab git_data]# git checkout linux
切换到分支 'linux'
[root@gitlab git_data]# git branch
* linux
master
[root@gitlab git_data]# git branch
linux
* master
[root@gitlab git_data]# git checkout linux
切换到分支 'linux'
[root@gitlab git_data]# git branch
* linux
master
在linux分支进行修改
[root@gitlab git_data]# cat README
[root@gitlab git_data]# echo "2017年11月30日" >> README
[root@gitlab git_data]# git add .
[root@gitlab git_data]# git commit -m "2017年11月30日09点10分"
[linux 5a6c037] 2017年11月30日09点10分
1 file changed, 1 insertion(+)
[root@gitlab git_data]# git status
# 位于分支 linux
无文件要提交,干净的工作区
[root@gitlab git_data]# echo "2017年11月30日" >> README
[root@gitlab git_data]# git add .
[root@gitlab git_data]# git commit -m "2017年11月30日09点10分"
[linux 5a6c037] 2017年11月30日09点10分
1 file changed, 1 insertion(+)
[root@gitlab git_data]# git status
# 位于分支 linux
无文件要提交,干净的工作区
回到master分支
[root@gitlab git_data]# git checkout master
切换到分支 'master'
[root@gitlab git_data]# cat README
[root@gitlab git_data]# git log -1
commit 7015bc7b316cc95e2dfe6c53e06e3900b2edf427
Author: clsn <admin@znix.top>
Date: Wed Nov 29 19:30:57 2017 +0800
123
切换到分支 'master'
[root@gitlab git_data]# cat README
[root@gitlab git_data]# git log -1
commit 7015bc7b316cc95e2dfe6c53e06e3900b2edf427
Author: clsn <admin@znix.top>
Date: Wed Nov 29 19:30:57 2017 +0800
123
合并代码
[root@gitlab git_data]# git merge linux
更新 7015bc7..5a6c037
Fast-forward
README | 1 +
1 file changed, 1 insertion(+)
[root@gitlab git_data]# git status
# 位于分支 master
无文件要提交,干净的工作区
[root@gitlab git_data]# cat README
2017年11月30日
更新 7015bc7..5a6c037
Fast-forward
README | 1 +
1 file changed, 1 insertion(+)
[root@gitlab git_data]# git status
# 位于分支 master
无文件要提交,干净的工作区
[root@gitlab git_data]# cat README
2017年11月30日
删除分支
git branch -d 删除掉
克隆部分文件
mkdir gitSparse
cd gitSparse/
git init
git remote add -f origin https://github.com/bestswifter/MySampleCode.git
ls
git config core.sparsecheckout true
echo "CornerRadius" >> .git/info/sparse-checkout
cat ./.git/info/sparse-checkout
git pull origin master
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~