Git 教程
Git 网站
- https://git-scm.com/
- Git 无法监听二进制文件的改动
Git 工作流程
一般工作流程如下:
- 克隆 Git 资源作为工作目录。
- 在克隆的资源上添加或修改文件。
- 如果其他人修改了,你可以更新资源。
- 在提交前查看修改。
- 提交修改。
- 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
Git 工作区、暂存区和版本库
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫 stage 或 index。一般存放在
.git
目录下的index
文件(.git/index
)中,也叫索引。 - 版本库:工作区有一个隐藏目录
.git
,这是 Git 的版本库。
本地仓库管理
Git 创建仓库
-
初始化:
git init
-
克隆仓库的命令格式:
git clone
-
设置用户信息:
git config --global user.name "runoob" git config --global user.email test@runoob.com
添加和提交文件
-
添加文件到暂存区:
git add 文件名
-
添加多个文件:
git add 文件A 文件B
-
添加所有文件:
git add .
-
提交到仓库:
git commit -m '备注信息'
配置用户信息
-
局部设置:
git config user.name 'your name' git config user.email 'you@example.com'
-
全局设置:
git config --global user.name 'your name' git config --global user.email 'you@example.com'
-
配置差异分析工具(如 vimdiff):
git config --global merge.tool vimdiff
-
查看配置信息:
git config --list
常用快捷命令
- 快速清屏:
reset
或CTRL + L
- 终止运行:
CTRL + C
- 查看工作目录:
pwd
- 切换工作目录:
cd
- 列出当前路径文件:
ls
- 粘贴内容到 Git Bash:中键滚轮、右击 paste 或
shift + ins
- 退出程序:按键
q
操作命令
-
查看当前仓库状态:
git status
- 红色:未 add,未 commit
- 绿色:已 add,未 commit
- 无颜色:已 add,已 commit
-
查看修改内容:
git diff
-
查看操作日志:
git log
-
详细日志:
git log -p
-
简化日志:
git log --pretty=oneline
-
查看文件内容:
cat 文件名
-
回退版本:
- 指定版本:
git reset --hard
- 使用 HEAD 指针:
git reset --hard HEAD^ # 回退一个版本 git reset --hard HEAD^^ # 回退两个版本
-
查看操作信息:
git reflog
-
撤销修改(只能撤销未 add 的文件):
git checkout
-
删除文件:
git rm filename
-
从暂存区取消某个操作:
git restore --staged filepath
stash 暂存操作
-
暂存修改:
git add .
-
查看 stash 状态:
git stash list
-
新建分支:
git switch -c 分支名
-
恢复最后一次 stash 修改:
git stash apply
-
stash 相关操作:
- 查看所有暂存:
git stash list
- 恢复指定 stash:
git stash apply stash@{num}
- 删除最后一个 stash:
git stash drop
- 删除指定 stash:
git stash drop stash@{num}
- 恢复并删除 stash:
git stash pop git stash pop stash@{num}
- 删除所有 stash:
git stash clear
远程仓库操作
-
添加远程仓库:
git remote add origin http://...
-
修改分支名:
git branch -M 分支名
-
推送到远程仓库(首次需要加
-u
参数):git push -u origin 分支名
-
取消远程仓库关联:
git remote rm origin
-
克隆远程仓库:
git clone 仓库地址
多人协作
-
查看远程库信息:
git remote git remote -v
-
常用分支说明:
- master:主分支,始终同步远程。
- dev:开发分支,团队成员工作分支。
- bug:本地修复 bug,通常不推送远程。
- feature:实验分支,是否推送看团队需求。
-
解决多人协作冲突:
- 拉取远程分支并合并:
git pull origin 分支名
- 进入编辑模式解决冲突:按
i
编辑,esc
后输入:wq
保存退出。 - 重新推送。
Git 基本操作常用命令
git clone
:克隆远程仓库git push
:推送到远程仓库git add
:添加文件到暂存区git commit
:提交暂存区到本地仓库git checkout
:切换分支或恢复文件git pull
:拉取远程代码并合并
Git 分支管理
-
创建分支:
git branch branchname
-
切换分支:
git checkout branchname
或
git switch branchname
-
创建并切换新分支:
git branch -b branchname git switch -c branchname
-
合并分支:
git merge branchname
-
删除分支:
git branch -d branchname
-
查看分支:
git branch
-
查看分支合并图:
git log --graph
-
解决合并冲突:
git diff
Git 标签管理
-
创建标签:
git tag v1.0
-
查看所有标签:
git tag
-
创建带注释标签:
git tag -a tagname -m "标签说明"
-
删除标签:
git tag -d tagname
-
推送标签到远程仓库:
git push origin tagname
-
删除远程标签:
git push origin :refs/tags/tagname
Fork 一个仓库
-
查看远程仓库:
git remote -v
-
添加上游仓库:
git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git
-
验证远程仓库:
git remote -v
-
同步 fork 仓库:
Github 远程仓库操作
-
添加远程库:
git remote add [shortname] [url]
评论(0)
暂无评论