一、 创建与克隆仓库
| 命令 | 说明 |
|---|---|
git init |
在当前目录初始化一个新的 Git 仓库 |
git clone <repo_url> |
克隆一个远程仓库到本地(例如:git clone https://github.com/user/repo.git) |

初始化一个git仓库,会生成一个.git目录,ls查看并没有显示。

通过ls -lA才可以查看,默认隐藏.开头的文件。

进入.git目录查看里面的文件情况。

二、 基础本地操作(个人工作流)
这些命令是你独自编码时最常用的。
| 命令 | 说明 |
|---|---|
git status |
查看工作区和暂存区的状态(必用!) |
git add <file> |
将指定文件添加到暂存区 |
git add . |
将所有修改(新建、修改的文件)添加到暂存区 |
git add -A |
将所有变化(包括删除)添加到暂存区 |
git commit -m "commit message" |
将暂存区的内容提交到本地仓库,并附上提交信息 |
git commit -am "commit message" |
一次性add已跟踪文件的修改并commit(对新文件无效) |
git restore <file> |
丢弃工作区的修改,恢复到上次 commit 的状态 |
git restore --staged <file> |
将文件从暂存区撤出,但保留工作区的修改 |
git rm <file> |
删除工作区文件,并且将这次删除放入暂存区 |
git mv <file_old> <file_new> |
移动或重命名文件,并将这个操作放入暂存区 |
三、 查看提交历史与差异
| 命令 | 说明 |
|---|---|
git log |
查看提交历史 |
git log --oneline |
以简洁的单行模式查看历史 |
git log --graph |
以拓扑图形式显示分支合并历史 |
git diff |
查看工作区 与暂存区的差异 |
git diff --staged |
查看暂存区 与本地仓库最新版本的差异 |
git diff <commit_id1> <commit_id2> |
查看两次提交之间的差异 |
四、 分支管理
| 命令 | 说明 |
|---|---|
git branch |
列出所有本地分支 |
git branch -r |
列出所有远程分支 |
git branch -a |
列出所有本地和远程分支 |
git branch <branch_name> |
创建一个新分支 |
git checkout <branch_name> |
切换到指定分支 |
git switch <branch_name> |
(新命令) 切换到指定分支,更语义化 |
git checkout -b <branch_name> |
创建并切换到新分支(经典组合) |
git switch -c <branch_name> |
(新命令) 创建并切换到新分支 |
git merge <branch_name> |
合并 指定分支到当前分支 |
git branch -d <branch_name> |
删除一个已合并的分支 |
git branch -D <branch_name> |
强制删除一个分支(即使它未合并) |
五、 远程仓库协作
| 命令 | 说明 |
|---|---|
git remote -v |
查看远程仓库地址(verbose) |
git fetch |
从远程仓库获取 最新信息,但不合并到本地 |
git pull |
拉取 远程仓库的最新更改并合并 到当前分支(=git fetch + git merge) |
git pull --rebase |
拉取远程更改并使用 rebase 方式合并(保持历史线整洁) |
git push |
将本地分支推送到远程跟踪分支 |
git push -u origin <branch_name> |
首次推送分支时,建立跟踪关系并推送 |
git push origin --delete <branch_name> |
删除远程分支 |
git remote show origin |
显示远程仓库 origin 的详细信息 |
六、 撤销与回退
| 命令 | 说明 |
|---|---|
git commit --amend |
修补提交,将本次修改追加到上一次提交中(修改提交信息或内容) |
git reset --soft <commit_id> |
回退到某个版本,保留工作区和暂存区的内容 |
git reset --mixed <commit_id> |
(默认) 回退到某个版本,保留工作区内容,但重置暂存区 |
git reset --hard <commit_id> |
彻底回退 到某个版本,丢弃所有工作区和暂存区的修改 (谨慎使用!) |
git revert <commit_id> |
创建一个新的提交来撤销某次提交的修改,更安全,适合公共分支 |
七、 储藏临时工作
当你需要临时切换分支但又不想提交未完成的工作时使用。
| 命令 | 说明 |
|---|---|
git stash |
将当前工作区和暂存区的修改储藏起来 |
git stash save "message" |
储藏并添加说明信息 |
git stash list |
列出所有储藏 |
git stash pop |
应用最近一次的储藏并删除该储藏 |
git stash apply |
应用最近一次的储藏,但不删除该储藏 |
git stash drop |
删除指定的储藏 |
总结:最核心的每日命令
如果你刚开始,请优先掌握这个核心子集:
-
git status- 看看当前状态git
-
git add .- 添加所有修改
-
git commit -m "message"- 提交 -
git pull- 先拉取更新 -
git push- 再推送代码 -
git checkout -b <new_branch>/git switch -c <new_branch>- 创建新分支 -
git merge <branch>- 合并分支
上面演示了部分git命令的操作。希望这份清单对你有帮助!多加练习,才能熟练掌握git命令。虽然Idea已经集成了git命令,很多命令都可以以快捷键形式展示,但是还是有必要了解git命令,其中有些命令是idea不能解决的,通过命令行操作会对gIt有一个全新的认识。