Github 工作指令一图流
本人目前正在学习git的相关指令,感觉各种概念真的很容易混淆,各种指令也难以完全记住,因此把git相关的指令画在了一张图里面,便于学习。(图还在不断更新,本质上是一个查阅表,细节可以另行搜索,大家可以评论来查漏补缺)。

git主要涉及四个空间概念,要重点区分:本地工作目录,暂存区,本地仓库,远程仓库。
基础指令:
初始化一个新的本地仓库,创建 .git 目录。
git init
克隆远程仓库到本地工作目录,[url]为github仓库的http网址。
git clone [url]
添加文件到暂存区
git add [file]
从暂存区删除文件
git rm –cached <file>
提交暂存区到本地仓库中,m表示提交信息,提交信息写在双引号""内
git commit -m [message]
如: git commit -m "my commit"
查看 Git 仓库当前状态(使用频率极高)
git status
显示:
当前分支的名称
当前分支与远程分支的关系(如是否是最新的)
未暂存的修改:显示已修改但尚未使用 git add 添加到暂存区的文件列表
未跟踪的文件:显示尚未纳入版本控制的新文件列表
查看提交历史
git log
显示:
提交哈希
作者信息
提交日期
提交信息(git commit时-m写的信息)
查看分支/新建分支
git branch # 查看分支,当前分支有*标记
git branch <branchname> # 创建新分支
删除分支
git branch -d <branchname>
切换到某个分支
git checkout <branch_name> # 旧命令
git switch <branch_name> # 新命令
创建并切换到某个分支
git checkout -b <branch_name> # 旧命令
git switch -c <branch_name> # 新命令
将某分支合并到当前分支
git merge <branchname>
给某次commit打标签
git tag
# 如 git tag v1.0
# 用于标记当前提交的版本号之类
这里要注意tag和branch的区别,两者都相当于指针,指向commit,当有新commit时,branch向前移动,指向最新的commit,达到更新branch的作用,而tag位置不变,仍标记此次的commit。
即tag(静态),branch(动态)。
但这里就有一个关键问题,commit很依赖branch,而如果使用
git checkout <tag_name>
进入tag后,会进入如下的状态:
git branch
* (HEAD detached at v1.0)
master
test
当前并不在任何branch下面,贸然进行commit会有丢失的风险,所以使用tag的最好操作流程是:
git checkout <tag_name> # 切换到当前tag
git switch -c <new_branch> # 先创建一个分支
# 修改代码
git commit # 提交
当然也可以一步操作:
git switch -c <new_branch> <tag_name>
查看文件之间的差异(也用的比较多):
git diff [file] # 显示暂存区和工作区的差异
git diff --cached [file] # 显示暂存区和上一次提交(commit)的差异
git diff [first-branch] [second-branch] # 显示两次提交之间的差异
管理远程仓库
git remote # 列出当前仓库中已配置的远程仓库
git remote -v # 列出当前仓库中已配置的远程仓库,并显示它们的 URL
git remote add <remote_name> <remote_url> # 添加一个新的远程仓库。指定一个远程仓库的名称和 URL,将其添加到当前仓库中
git remote remove <remote_name> # 从当前仓库中删除指定的远程仓库
推送到远程仓库
git push <远程主机名> <本地分支名>:<远程分支名>
git push <远程主机名> <本地分支名> # 本地分支和远程分支名字相同
git push <远程主机名> --delete <远程分支名> # 删除远程分支
获取远程仓库更新
git fetch
获取远程仓库更新并合并
git pull
常见开发流程:
Step 1:fork 仓库(github上操作)
Step 2:clone 自己的 fork
git clone YOUR_REPO
Step 3:创建功能分支
git switch -c feature_x
Step 4:修改 + commit
git add
git commit
Step 5:push 到自己的 repo
git push origin feature_x
Step 6:在 GitHub 提起pull request(PR)
更多推荐



所有评论(0)