Git About
Table of contents
Git emoji
git & github 使用秘籍
emoji 大全
https://emojixd.com/
git 常用 emoji
emoji 表情 | emoji 代码 | commit 说明 |
---|---|---|
![]() | :art: | 改进代码结构/代码格式 |
![]() ![]() |
:zap: :racehorse:
| 提升性能 |
![]() | :fire: | 移除代码或文件 |
![]() | :bug: | 修复 bug |
![]() | :ambulance: | 重要补丁 |
![]() | :sparkles: | 引入新功能 |
![]() | :memo: | 撰写文档 |
![]() | :rocket: | 部署功能 |
![]() | :lipstick: | 更新 UI 和样式文件 |
![]() | :tada: | 初次提交 |
![]() | :white_check_mark: | 增加测试 |
![]() | :lock: | 修复安全问题 |
![]() | :apple: | 修复 macOS 下的内容 |
![]() | :penguin: | 修复 Linux 下的内容 |
![]() | :checked_flag: | 修复 Windows 下的内容 |
![]() | :robot: | 修复Android上的某些内容。 |
![]() | :green_apple: | 解决iOS上的某些问题。 |
![]() | :bookmark: | 发行/版本标签 |
![]() | :rotating_light: | 移除 linter 警告 |
![]() | :construction: | 工作进行中 |
![]() | :green_heart: | 修复 CI 构建问题 |
![]() | :arrow_down: | 降级依赖 |
![]() | :arrow_up: | 升级依赖 |
![]() | :pushpin: | 将依赖关系固定到特定版本。 |
![]() | :construction_worker: | 添加 CI 构建系统 |
![]() | :chart_with_upwards_trend: | 添加分析或跟踪代码 |
![]() | :recycle: | 重构代码。 |
![]() | :hammer: | 重大重构 |
![]() | :heavy_minus_sign: | 减少一个依赖 |
![]() | :whale: | Docker 相关工作 |
![]() | :heavy_plus_sign: | 增加一个依赖 |
![]() | :wrench: | 修改配置文件 |
![]() | :globe_with_meridians: | 国际化与本地化 |
![]() | :pencil2: | 修复 typo |
![]() | :hankey: | 编写需要改进的错误代码。 |
![]() | :rewind: | 恢复更改。 |
![]() | :twisted_rightwards_arrows: | 合并分支。 |
![]() | :package: | 更新编译的文件或包。 |
![]() | :alien: | 由于外部API更改而更新代码。 |
![]() | :truck: | 移动或重命名文件。 |
![]() | :page_facing_up: | 添加或更新许可证。 |
![]() | :boom: | 介绍突破性变化。 |
![]() | :bento: | 添加或更新资产。 |
![]() | :ok_hand: | 由于代码审查更改而更新代码。 |
![]() | :wheelchair: | 提高可访问性。 |
![]() | :bulb: | 记录源代码。 |
![]() | :beers: | 醉生梦死的写代码。 |
![]() | :speech_balloon: | 更新文字和文字。 |
![]() | :card_file_box: | 执行与数据库相关的更改。 |
![]() | :loud_sound: | 添加日志。 |
![]() | :mute: | 删除日志。 |
![]() | :busts_in_silhouette: | 添加贡献者。 |
![]() | :children_crossing: | 改善用户体验/可用性。 |
![]() | :building_construction: | 进行架构更改。 |
![]() | :iphone: | 致力于响应式设计。 |
![]() | :clown_face: | 嘲笑事物。 |
![]() | :egg: | 添加一个复活节彩蛋。 |
![]() | :see_no_evil: | 添加或更新.gitignore文件。 |
![]() | :camera_flash: | 添加或更新快照。 |
常用命令
#初始化本地仓库,生成一个 .git 文件夹
git init
#查看当前仓库地址,origin为远程仓库地址别名
git remote show origin
or
git remote -v
#添加远程仓库地址
git remote add <name> <url>
#修改远程仓库地址别名
git remote rename <old> <new>
#将远程仓库的内容合并到本地仓库(首先,同步仓库)
git pull [--rebase] <remote> <branch>
-----------------------提交代码到远程仓库,三步走-----------------------------------------
#查看文件状态
git status
#添加一个或多个文件到暂存区
git add [file1] [file2] ...
git add .
#提交暂存区到本地仓库中,并添加注释
git commit -m [message]
#将本地仓库的文件推送到已经建立关联的远程仓库master分支中
git push -u origin master
-----------------------分支操作命令----------------------------------------------------
#列出所有本地分支
git branch
#列出所有远程分支
git branch -r
#切换到指定分支
git checkout [branch-name]
#新建一个分支,但依然停留在当前分支
git branch [branch-name]
#新建一个分支,并切换到该分支
git checkout -b [branch-name]
#提交新建分支到远程仓库
git push origin [branch-name]
#合并指定分支到当前分支
git merge [branch-name]
#删除本地分支
git branch -d [branch-name]
#删除远程分支
git push origin -d [branch-name]
-------------------------------------------------------------------------------------
#查看提交历史信息
git log
#修改注释,第一行就是最后一次commit的注释信息,按i键进行编辑状态,按Esc后再按:wq保存并退出
git commit --amend
#将文件从暂存区和工作区中删除
git rm <file>
#递归删除整个目录中的所有子目录和文件,提交
git rm -r <文件夹>
git commit -m "删除"
git push
#初次拉取工程(克隆)
git clone <远程仓库地址>
commit 后悔
undo commit 和 revert commit区别
操作的对象和影响范围
undo commit和revert commit的主要区别在于操作的对象和影响范围。
定义和操作方式
- undo commit:用于撤销最近一次的本地commit操作,不会影响已经推送到远程仓库的commit记录。可以通过git reset HEAD^命令来实现。12
- revert commit:用于撤销已经提交到远程仓库的commit,同时保留这些commit的历史记录。可以通过git revert
命令来实现。
适用场景
- undo commit:当你需要撤销本地的commit操作,且这些操作尚未推送到远程仓库时,可以使用undo commit。这适用于在本地修改代码后,发现还需要进一步修改,但又不想增加新的commit记录的情况。2
- revert commit:当你需要撤销已经提交到远程仓库的commit时,且需要保留这些commit的历史记录时,可以使用revert commit。这适用于团队协作和版本控制中的情况,比如需要撤销某个有问题的commit,但保留其历史记录。
影响范围
- undo commit:只能撤销本地的commit记录,不会影响已经推送到远程仓库的commit记录。1
- revert commit:可以撤销远程仓库中的commit记录,同时保留这些记录的历史信息。
总之,当你需要撤销本地的commit操作时,可以使用undo commit;当你需要撤销已经提交到远程仓库的commit时,且需要保留这些commit的历史记录时,可以使用revert commit。
push 后悔
确定你想要撤销的commit的哈希值。你可以通过git log来查看提交历史。
执行git revert命令,并指定你想要撤销的commit的哈希值。
git revert <commit-hash>
解决可能出现的任何冲突。然后提交这个新的revert commit。
git commit -m "Revert \"<commit-message>\""
将revert commit push到远程仓库。
git push origin <branch-name>
例如,如果想要撤销哈希值为c6bfc89e的commit,可以这样做:
git revert c6bfc89e
git commit -m "Revert \"commit message\""
git push origin main
请注意,如果你的项目是一个共享的项目,撤销一个公共的commit可能会影响其他协作者。在执行这样的操作之前,最好通知团队成员。