网站首页 > 技术文章 正文
git是一个很好用的版本管理工具,勾勾已经从原来的svn完全切换到了git,整理一篇git命令,便于后期查看。
git分为工作区、暂存区、本地仓库和远程仓库。
本地库操作
本地库初始化
创建本地仓库目录
git init
在目录下创建.git隐藏目录,这个目录是git本地库相关的子目录和文件,不能修改不能删除。
设置签名
签名的格式为用户名和邮箱地址,这个签名与github注册的用户信息无关。
签名的级别分为:仓库级别和系统用户级别。仓库级别的优先级大于系统用户级别。
一般工作中,设置一个系统级别的用户签名就可以了。
# 仓库级别
git config user.name 用户名
git config user.email 邮箱地址
# 系统用户级别
git config --global user.name 用户名
git config --global user.email 邮箱地址
提交文件命令
# 查看工作区、暂存区的文件状态
git status
# 将工作区新建和修改的文件提交到暂存区
git add 文件名
# 将暂存区新建和修改的文件提交到本地库
git commit -m "备注信息" 文件名
版本回溯命令
查看版本的历史记录
# 多屏显式,空格向下翻页,b上翻页,q退出
git log
git log --pretty=oneline
git log --oneline
# HEAD【移动到当前版本需要的步数】
git reflog
回溯或前进版本
reset三个参数对比:
- soft:移动本地库的HEAD指针
- mixed:移动本地库的HEAD指针,重置暂存区
- hard:移动本地库的HEAD指针,重置暂存区和工作区
可以利用版本回溯恢复删除的文件,前提这个文件删除前的状态提交到了本地库中。
# 基于索引值的回溯或前进(推荐)
git reset --hard 索引值(HEAD)
# 基于^符号的回溯,只能向后回退版本,一个^表示回退一个版本
git reset --hard HEAD^
#基于~符号的回溯
git reset --hard HEAD~3
比较文件差异
# 表示将工作区和暂存区进行比较
git diff 文件
# 和本地库的某个版本比较,如果不写文件名,则表示比较所有的文件
git diff HEAD
git diff HEAD^
分支操作
#创建分支
git branch [分支名]
#查看分支
git branch -v
#切换分支
git checkout [分支名]
#合并分支:fix分支合并到主干
git checkot [需要合并的分支](master)
git merge [被合并的分支名](fix)
# 分支冲突解决
编辑文件,手动解决冲突
git add 文件名
git commit -m “” 不能带文件名
远程库操作
# 创建远程仓库别名,利于后期使用
git remote -v
git remote add 别名 远程仓库地址
# 添加本地仓库的信息到远程仓库
git push 远程仓库别名 仓库名
# 克隆远程仓库的信息
git clone 远程仓库地址
# 拉取远程仓库到本地库
git pull 远程仓库别名 分支名
# pull = fetch+merge
git fetch 远程仓库别名 分支名
git meger 远程仓库别名/分支名
总结
工作中,一般都有一个master,我们需要先把远程仓库的代码克隆到本地仓库,在本地仓库创建一个分支进行开发,毕竟你是可能同时开发多个分支的。开发结束后把代码提交到远程仓库进行合并,这个时候就有一系列的命令了。
总结开发中常用的命令:
git clone 远程仓库地址:克隆远程仓库到本地
git checkout -b 分支名 新的分支名:创建新的分支,并切换到这个新的分支
git status:查看仓库的状态,主要看有哪些文件有修改
git add 文件名:将工作区的文件添加到暂存区,用于后续的提交
git commit -m "备注信息":提交暂存区的文件到本地仓库
git push origin 分支名:提交分支修改到远程仓库
- 上一篇: 克服PLC编程的难题——基于Git的软件
- 下一篇: 为什么程序员如此“嫌弃”主干开发模式?
猜你喜欢
- 2024-10-27 git 入门教程之紧急修复(git checkout . 恢复)
- 2024-10-27 项目版本管理的最佳实践:飞流Flow篇
- 2024-10-27 DevOps(4)之分支模型(ps4如何构建画布)
- 2024-10-27 Git 在团队中的最佳实践——如何正确使用Git Flow
- 2024-10-27 鹅厂程序员干货分享 | 四种工作流,教你如何使用 GitHub
- 2024-10-27 Linux下git和github搭建使用教程(linux搭建git仓库)
- 2024-10-27 git这个小技巧非常实用,值得每个程序员学习
- 2024-10-27 Git实战002:Git快速入门使用详解(git简单教程)
- 2024-10-27 git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性
- 2024-10-27 Git基础知识(七)--分支开发工作流
- 11-26Win7\8\10下一条cmd命令可查得笔记本电脑连接过的Wifi密码
- 11-26一文搞懂MySQL行锁、表锁、间隙锁详解
- 11-26电脑的wifi密码忘记了?一招教你如何找回密码,简单明了,快收藏
- 11-26代码解决忘记密码问题 教你用CMD命令查看所有连接过的WIFI密码
- 11-26CMD命令提示符能干嘛?这些功能你都知道吗?
- 11-26性能测试之慢sql分析
- 11-26论渗透信息收集的重要性
- 11-26如何查看电脑连接过的所有WiFi密码
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)