文章目录
- 基本命令
- 仓库相关命令
- 提交相关命令
- 分支相关命令
- tag 相关命令
- 撤销相关命令
- IDEA Git 相关操作
- 仓库相关操作
- 提交相关操作
- 提交代码步骤
- 分支相关操作
- tag 相关操作
- 撤销相关操作
- 参考资料
本文主要介绍 Git 常用的基本命令。
基本命令
仓库相关命令
- 创建新仓库
git init
- 克隆项目
git clone https://github.com/Erik-ly/git-test.git
- 查看当前配置
git config --list
- 配置用户名
git config --global user.name "xxx"
- 配置邮箱
git config --global user.email "xxx@xxx.com"
提交相关命令
- 添加某个文件到暂存区
git add test.txt
- 添加所有文件到暂存区
git add .
- 查看仓库当前状态
git status
- 显示变更信息
git diff
- 提交暂存区到本地仓库
git commit -m "add test file"
- 下载远程代码并合并
git pull
- 上传远程代码并合并
git push
- 查看历史提交记录
git log
分支相关命令
- 显示本地分支
git branch
- 显示所有分支
git branch -a
- 获取所有远程分支
git fetch
- 切换远程分支到本地
git checkout -b dev origin/dev
- 切换分支
git checkout release
- 创建一个分支,并切换到该新分支
git checkout -b dev
- 基于当前 HEAD 创建新分支
git branch release
- 将本地分支上传到远程
git push origin dev
- 删除本地分支(删除其他分支,不能删除当前分支, -D 是强制删除)
git branch -d dev2
- 合并特定 commit 到另一个分支
比如我在 dev 分支修改了一个bug,提交为 “fix bug-7”,现在需要把 dev 分支的这个代码合并到 release 分支。
首先在需要合并的 commit 所在的分支下使用 git log
查看,找到 “fix bug-7” 的 commit 为 “072a2e524c9fe3d082dfce37762e4a43e200484c”,按 Q 键退出日志查看。
Erik@DESKTOP-M3B942V MINGW64 ~/IdeaProjects/git-test (dev)
$ git log
commit 072a2e524c9fe3d082dfce37762e4a43e200484c (HEAD -> dev, origin/release-1.0, origin/dev, release-1.0)
Author: “liuyang” <liuyangerik@gmail.com>
Date: Sun Jun 13 11:00:36 2021 +0800
fix bug-7
然后切换到 release 分支。
在 release 分支上执行执行 pick 操作
git checkout release
git cherry-pick 072a2e524c9fe3d082dfce37762e4a43e200484c
tag 相关命令
- 显示已存在的 tag
git tag
- 创建 tag
git tag -a v1.0 -m "v1.0 tag"
- 删除本地 tag
git tag -d v1.0
- 查看 tag 信息
git show v1.0
- 推送所有 tag 到远程仓库
git push --tags
撤销相关命令
- 恢复暂存区的指定文件到工作区
git checkout file_name
- 恢复暂存区的所有文件到工作区
git checkout .
- 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset [file]
- 重置暂存区与工作区,与上一次commit保持一致
git reset --hard
- 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致,commit 之后的版本都会丢失
git reset --hard [commit]
- 撤销某次操作,此次操作之前和之后的 commit 都会保留
git revert [commit]
IDEA Git 相关操作
仓库相关操作
- 原有项目引入 Git 管理
原有项目使用 IDEA 打开,依次点击 VCS — Import into Version Control — Create Git Repository…
在弹出的对话框中选择这个项目,点击 “OK” 即可。
下面以项目放到 GitHub 为例,首先在 GitHub 上创建项目,
然后添加源端仓库,
commit 代码后,提交到远程仓库。
- 添加其它远端仓库
Name 写为 非 “origin” 的名字,可根据 Git 仓库工具,比如:GitBucket。之后提交代码的时候可选择改仓库提交。
提交相关操作
- 更新代码
推荐使用下图红框中标注的按钮拉取更新代码,快捷键 Ctrl + T
,这种会更新全部,拉取新的分支,自动 merge 等,不容易出错。
- commit 提交代码
使用快捷键 Ctrl + K
, 提交代码
- Push 代码
使用快捷键 Ctrl + Shift + K
push 代码
提交代码步骤
- 更新最新代码(快捷键:
Ctrl + T
),将代码更新到最新。 - 修改代码。
- 更新最新代码(快捷键:
Ctrl + T
),提交代码之前要先更新代码,在修改代码这段时间内,如果有其他人修改了代码,需要更新,否则可能会覆盖别人的代码,另外这时更新,如果有 Merge 的情况,会自动 Merge,或让自己来 Merge 代码,在提交记录里不会出现大量的 Merge 记录。 - Add 代码,无特殊情况,在项目上执行下 ADD 操作,将自己新加的或之前 Merge 的一些文件 add 进来;
- Commit 代码(快捷键:
Ctrl + K
),注意写清楚修改了哪些内容,尽量一个功能一个 commit,可以在 commit 对话框中选择本次要提交的文件; - Push 代码(快捷键:
Ctrl + Shift + K
),提交代码时注意将要提交到哪个分支,这里 push 所有 commit,无法选择某个 commit push。
分支相关操作
- checkout 新分支
- 切换分支
- 删除本地分支
- 将本地分支推送到远端
如在本地 checkout 出一个 “release-1.0” 分支,需要将这个分支推送到远端,则可以使用 Ctrl + Shift + K
进行 Push,在弹出框中看到 ”release-1.0 → origin:release-1.0“,如果不是这样,则可点击分支进行手动修改(红框中带有下划线部分均可点击后修改),点击 ”Push“ 按钮进行提交即可。
- 查看提交记录
- 查看某个分支的提交记录
可以选择本地的分支
也可以通过 “Select…” 手动输入特定分支,按 Ctrl + Enter
确定
- Pick 合并 commit 到其它分支
如果需要 Merge
tag 相关操作
- 创建 tag
在某个 commit 又键,选择 “New Tag …”
然后输入 tag 名称
最后推送到远端,注意要勾选 “Push Tags”
撤销相关操作
- reset 操作
- revert 操作
参考资料
- Git 基本操作 | 菜鸟教程:https://www.runoob.com/git/git-basic-operations.html
- git命令大全:https://gist.github.com/Erik-ly/d68cc402fade0ef6b960ca8fc5603949
- 常用 Git 命令清单 - 阮一峰的网络日志:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
- Git恢复之前版本的两种方法reset、revert(图文详解):https://blog.csdn.net/yxlshk/article/details/79944535
- git revert 用法 - demoblog - 博客园:https://www.cnblogs.com/0616–ataozhijia/p/3709917.html
- Git合并特定commits 到另一个分支:https://blog.csdn.net/ybdesire/article/details/42145597
注:本文首发于个人博客网站: http://www.erik-ly.com/