Git系列:入门必备指令详解
- 总览
- 高频指令
- 参考资料
总览
常用指令使用流程如下图:
- workspace:工作区
- staging area:暂存区/缓存区
- local repository:版本库或本地仓库
- remote repository:远程仓库
——引用自:《菜鸟教程之Git操作》
高频指令
常见必备指令操作:
- git clone
- git add
- git commit
- git pull
- git push
- git branch
- git checkout
- git status
- git diff
注意,指令举例中[]
里表示需自行修改的内容,实际应用时不用带方括号[]
。
git clone
- 功能:克隆远端服务器的版本库到本地
- 指令1:
git clone [ssh/https]
- 释义:克隆代码仓到本地,可用ssh地址或https地址
- 指令2:
git clone [ssh/https] -b [branch_name]
- 释义:克隆远端仓到本地,并切换到分支branch_name
- -b为branch的缩写
- branch_name可替换为相应分支名,如master/dev
git add
- 功能:提交工作区内容到暂存区
- 指令1:
git add .
- 释义:将工作区所有代码修改提交到暂存区
- 工作区,为本地直接可见的文件
- 暂存区,.git目录下的内容,主要为目录索引,不直接可见
- 指令2:
git add [file_name]
- 释义:将工作区特定文件的代码修改提交到暂存区
- 实例如,
git add main.c
- 实例如,
git commit
- 功能:提交暂存区内容到本地版本库
- 指令1:
git commit -m [comment]
- 释义:将工作区所有代码修改提交到暂存区
- -m为注释内容comment
- 实例比如,
git commit -m "init version"
- 指令2:
git commit --amend
- 释义:强制在上一次commitid中提交新的暂存区内容
- 将本地新的修改从暂存区添加到版本库中
- 可修改上一次的commitid注释
git pull
- 功能:拉取远端仓库代码并与本地版本库合并
- 指令1:
git pull
或者git pull [origin]
- 释义:将远端origin的所有分支拉取并合并到本地
- git pull默认将远端主机origin相关代码拉到本地
- origin可改为其他远程主机名,拉到本地并合并
- 指令2:
git pull origin [master]:[dev]
- 释义:将远端origin的master分支拉取并合并到本地dev分支
- 若master后面省略,即表示将远端master合并到当前分支,如
git pull origin master
- 若master后面省略,即表示将远端master合并到当前分支,如
git push
- 功能:推送本地版本库到远端仓库代码并合并
- 指令1:
git push <远程主机名origin> <本地分支名master>:<远程分支名dev>
- 释义:将本地分支dev推送到远程主机origin的远程分支master
- 实例如,
git push origin [master]:[dev]
- 若本地分支名与远程分支名相同,可省略
:
及以后的内容 - 如:
git push origin master
- 实例如,
- 指令2:
git push -f <远程主机名origin> <本地分支名master>
- 示例如
git push -f private br_ft
,强制将本地版本库推送到远端private主机的br_ft分支
- 示例如
git branch
- 功能:创建、切换、查看相应分支
- 指令1:
git branch
- 释义:查看当前所处分支及本地分支名
- 如加指令:
git branch -a
,查看包含远端的所有分支
- 如加指令:
- 指令2:
git branch [branch_name]
- 释义:创建并切换到相应分支branch_name
- 若已存在某分支,则需要用checkout指令来切换
- 指令3:
- 释义:查看当前所处分支
git checkout
- 功能:切换分支
- 指令1:
git checkout [branch_name]
- 释义:切换分支到branch_name
git status
- 指令1:
git status
- 释义:查看上次commit提交后文件的修改
- 之后加参数
-s
,如指令:git status -s
,获得简短输出结果,s表示short
- 之后加参数
git diff
- 功能:显示暂存区和工作区的文件差异
- 指令1:
git diff
- 释义:查看还未添加到暂存区的本地文件修改
- 之后加参数
--stat
,如指令:git diff --stat
,查看新增代码修改行数及相关改动文件 - 要查看add和commit后的文件版本差异,需要用git log来查看
- 之后加参数
- 指令2:
git diff [file_name]
- 释义:查看指定文件的前后修改差异
git log
- 功能:查看commit日志
- 指令1:
git log
- 释义:查看上次commit历史log及commitID、注释
- 添加参数
--stat
,如指令:git log --stat
- 可查看各提交版本修改了哪些文件、及新增和删除的代码行数
- 添加参数
参考资料
- 菜鸟教程:Git入门,link