浮叶蓝空的博客
分享学习心得,记录学习笔记
文章:
84
访问:
526140
登录
关于
首页
今天是:
2025年09月09日 星期二
类别
PHP(39)
其他笔记(20)
Java(1)
C++(17)
mysql(2)
JavaScript(4)
近期文章
Linux下Cmake引用第三方静态库示例
Linux下使用Cmake构建静态库示例
Ubuntu设置自动挂载硬盘,挂载U盘
压力测试工具Apache JMeter基本使用
使用PHP脚本借助FFmpeg一键合并视频
Shell中的>、1>、2>、2>&1、&>详解
PHP开启多进程实现异步非阻塞并行执行任务
博主推荐
PHP实现文件下载接口
Qt读写注册表,C++读写注册表
PHP动态修改配置文件,存储为文件
MySql常用语法
Powershell远程连接
PHP从字符串中获取需要的内容部分
封装PHP的HTTP请求
Git基本使用
fuyelk
2018年08月19日
2712
## 本文说明: + 发布:2017.12.09 + 更新:2022.08.06 + 说明:本文介绍Git的常用命令,旨在快捷使用,和复习点拨,要完整学习Git功能,可以参考推荐文章中的链接。 #### 推荐文章:[Git教程 - 廖雪峰的官方网站](https://www.liaoxuefeng.com/wiki/896043488029600 "Git教程 - 廖雪峰的官方网站") #### Git官方下载地址: [https://git-scm.com/download](https://git-scm.com/download "https://git-scm.com/download") ## 一、新建一个本地仓库 因为Git是分布式版本控制系统,所以,每个用户需要声明自己的身份:你的名字和Email地址 ```shell $ git config --global user.name zhangsan $ git config --global user.email zhangsan@email.com ``` 移步至项目的目录,通过git init初始化git仓库 ```shell $ git init ``` ## 二、文件操作 1. 在根目录中编写一个文件readme.txt 2. 将文件提交到缓存区,待提交 ```shell $ git add readme.txt ``` 3. 将文件提交到仓库 (-m后面是本次提交的说明,便于在历史记录里找到改动记录) ```shell $ git commit -m "创建readme文件" ``` > commit可以一次提交多个文件,可以多次add不同的文件,然后通过一次提交 4. 删除文件 ```shell $ rm test.txt $ git rm test.txt $ git commit -m "删除 test.txt" ``` ## 三、仓库状态查询 ```shell # 查看仓库当前的状态 $ git status # 查看文件具体修改了什么内容 $ git diff readme.txt # 查看修改历史 $ git log # 显示commit编号的缩写(单行显示) $ git log --oneline # 简洁模式(单行显示,不缩写) $ git log --pretty=oneline # 显示图形 $ git log --graph # 显示文件 $ git log --stat # 筛选一个作者的日志 $ git log --author="zhangsan" ``` ## 四、版本操作 1. 版本退回 ```shell $ git reset --hard HEAD^ ``` > HEAD表示当前版本; > 上一个版本就是HEAD^; > 上上一个版本就是HEAD^^; > 上多少个版本用数字表示如:HEAD~100 2. 退回到指定版本号,用带版本号的命令,版本号不用写全 ```shell $ git reset --hard 909cd ``` 3. 查看命令记录 ```shell $ git reflog ``` 4. 撤销修改:还没提交到缓存区 ```shell $ git checkout -- readme.txt ``` 5. 撤销修改:已经提交到缓存区了 ```shell $ git reset HEAD readme.txt ``` ## 五、远程(这里讲用GitHub) - 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要一些设置: 1. 创建SSH Key: 看C盘用户目录下没有.ssh目录,看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果没有就需要创建SSH Key: ```shell $ ssh-keygen -t rsa -C "youremail@example.com" ``` > id_rsa是私钥,不能泄露出去; > id_rsa.pub是公钥;可以放心地告诉任何人。 > 在GitHub setting/account /ssh中添加公钥 > ssh-keygen -p 可修改或删除密码 2. 关联远程仓库 ```shell $ git remote add origin git@github.com:fuyelk/GIT_PHP.git ``` 3. 查看关联的库 ```shell $ git remote -v ``` 4. 删除关联 ```shell $ git remote rm origin ``` 5. 把本地库的所有内容推送到远程库上: ```shell $ git push -u origin master ``` > 第一次推送需要-u 以后不需要 **提示:fatal: refusing to merge unrelated histories 两个历史不相关解决办法:** ```shell $ git pull origin master --allow-unrelated-histories ``` 6. 从远程获取最新数据 ```shell $ git pull ``` 7. 从远程仓库克隆到本地 ```shell $ git clone git@github.com:aaa/bbb.git ``` ### 六、分支 ```shell # 创建分支 $ git branch 分支名 # 创建远程服务器上的分支到本地(克隆服务器库到本地只会克隆master,其他分支需要手动克隆): $ git checkout -b 分支名 origin/分支名 # 切换分支: $ git checkout 分支名 # 创建并切换分支另一种写法: $ git checkout -b 分支名 # 删除分支: $ git branch -d 分支名 # 强制删除分支: $ git branch -D 分支名 # 查看所有分支: $ git branch # 合并分支: $git merge 分支名 # 合并分支:将A分支合并到当前分支 $ git merge A ``` ## 七、文件暂存 : git stash > Stash解决了以下几个痛点: > 1. 代码做了很多修改想将变动保存到一个新的分支 > 2. 正在写功能,这时又来一个更紧急的需求,需要暂存当前修改的内容而不影响任何分支 ```shell # 暂存,只能保存已被git管理的文件,新建文件需要先执行 git add $ git stash save "一些描述" # 查看保存的记录 $ git stash list # 恢复进度:方法一(恢复后,stash内容需要手动删除) $ git stash apply # 删除stash $ git stash drop # 恢复的同时删除stash $ git stash pop ``` ### 八、标签(便于记忆commit编号) ```shell # 先切换到需要设置标签的分支 $ git checkout master # 设置标签(默认设置在最近一次commit上) $ git tag v1.0 # 先查看commit记录 $ git log --pretty=oneline --abbrev-commit # 再为对应commit编号设置标签 $ git tag 标签名 commit编号 # 查看本地标签 $ git tag # 查看标签详情 $ git show 标签名 # 推送本地标签到远程 $ git push origin 标签名 # 推送本地全部标签到远程 $ git push origin --tags # 删除本地标签 $ git tag -d 标签名 # 删除远程标签 $ git push origin :refs/tags/标签名 # 删除本地全部标签 $ git tag | xargs git tag -d # 拉取远程全部标签到本地 $ git fetch --tags ``` ## 忽略已被git管理的文件 ```shell git rm --cached example.html ``` ## 管理上已被Git忽略的文件 1. 从.gitignore中移除忽略的记录,(如果有的话)删除忽略目录的.git文件 2. 清除本地git缓存 `git rm -r --cached .` 3. 重新add、commit、push `git add . && git commit -m 'save ignore files' && git push` ## 文件重命名仅变更大小写 > 重命名如果只变更大小写git不会识别,参考下面方法解决 ``` # 改成临时名 git mv model.php Model.php.tmp # 改回正式名 git mv Model.php.tmp Model.php ``` ----END----
上一篇:
常见的计算机故障
下一篇:
MarkDown语法
0人点赞
登录后评论
友情链接
doywb
2018-2025 Copyright© 米灵尔 浮叶蓝空
豫ICP备15007436号-1
豫公网安备 41152302000146号