常用命令手册
操作 | 指令 | 说明 |
---|---|---|
初始化仓库 | git init | 使用其它指令的前提 |
添加文件到缓存区 | git add <file> | 可反复多次使用 |
将缓存文件提交本地仓库 | git commit -m <message> | / |
查看本地分支 | git branch | / |
查看所有分支 | git branch -a | 包括本地/远程分支 |
创建分支 | git branch <name> | / |
切换分支 | git checkout <name> | 别名 git switch <name> |
创建+切换分支 | git checkout -b <name> | 别名 git switch -c <name> |
合并某分支到当前分支 | git merge <name> | 需要先切换到当前分支 |
删除分支 | git branch -d <name> | / |
强行删除分支 | git branch -D <name> | 分支未合并过时,不能普通删除 |
前往某次提交版本 | git reset --hard <commit_id> | / |
查看提交历史 | git log | 方便回到过去版本 |
查看命令历史 | git reflog | 方便前往未来版本 |
丢弃工作区修改 | git checkout – <file> | 尚未添加到缓存 |
丢弃缓存区修改 | git reset HEAD <file> | 需要再执行上一步 |
从版本库恢复被删除文件 | git checkout – <file> | 需要版本库存在该文件 |
从版本库恢复被修改文件 | git checkout – <file> | 需要版本库存在该文件 |
从版本库删除文件 | git rm <file> | 需要提交操作 |
关联远程库 | git remote add origin <url.git> | origin 是远程库的习惯命名 |
推送当前分支到远程并关联 | git push -u origin <name> | 关联当前、远程分支,后续推送/拉取可以简化命令 |
↑ | / | 如远程分支不存在,将新建远程分支 |
将当前分支推送(更新)到远程 | git push origin <name> | 分支通常重名 |
将当前分支推送(更新)到远程 | git push origin | 需要关联当前、远程分支 |
将当前分支推送(更新)到远程 | git push | 还需要当前分支只有一个远程分支 |
从远程库克隆 | git clone <url.git> | / |
查看远程库信息 | git remote -v | / |
拉取远程的某分支到本地 | git checkout -b <branch> origin/<branch> | 应该不需要下一步 |
关联本地、远程分支 | git branch --set-upstream-to <branch> origin/<branch> | / |
从远程获取最新版本到本地并合并 | git pull | 远程分支比本地更新时使用。需要先关联 |
从远程获取最新版本到本地 | git fetch | 能够获取到远程新分支信息 |
合并分支 | git merge | / |
常用操作
添加修改到本地仓库
1. 查看状态
git status
2. 添加所有修改文件到暂存区
git add .
3. 提交到本地仓库
git commit -m 'xxx'
4. 查看状态
git status
添加修改到远程仓库
git push
更改关联的远程库
针对报错
fatal: remote origin already exists.
。
1. 删除远程 Git 仓库
git remote rm origin
2. 添加远程 Git 仓库
git remote add origin https://github.com/SpringLoach/manager-copy.git
本地关联并推送到远程
初始化本地仓库,忽略文件
git init
创建 .gitignore
文件,忽略 node_modules
提交到本地仓库
git add .
git commit -m "renew"
在github新建仓库
略
将本地仓库关联推送到远程
/* 关联远程库 */
git remote add origin https://github.com/用户名/仓库名.git
/* 强制重命名分支 */
git branch -M main
/* 推送当前分支到远程并关联 */
git push -u origin main
克隆修改后推送
第一步: git clone xxx // 下载远程仓库至本地
第二步: git status // 查看当前状态
第三步:git add . 或者 git add xxx // 提交文件至本地缓存区
第四步:git commit -m “提交代码” // 提交文件至本地仓库
第五步: git pull <远程主机名> <远程分支名> // 取回远程主机某个分支的更新,再与本地的指定分支合并。
第六步:git push <远程主机名> <远程分支名> // 把当前提交到git本地仓库的代码推送到远程主机的某个远程分之上
后续推送:可以省略远程主机名和远程分支名,git push 即可。
提交操作者信息
添加
--global
参数,表示机器上所有的Git仓库都会使用这个配置。
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
验证操作者信息
$ git config user.name
$ git config user.email
协_获取新远程库某分支
顺序 | 步骤 | 命令 |
---|---|---|
① | 从远程库克隆,默认只拉取主分支 main | git clone <url.git> |
② | 拉取远程的某分支到本地 | git checkout -b <branch> origin/<branch> |
③ | 查看分支、正常操作 | … |
远程库克隆报错
由于网络不稳定,连接超时导致,可再次尝试克隆命令。
fatal: unable to access 'https://github.com/SpringLoach/test.git/': OpenSSL SSL_read: Connection was reset, errno 10054
协_解决冲突
顺序 | 步骤 | 命令 |
---|---|---|
① | 修改后,尝试正常推送 | git push |
② | 提示远程的提交领先于本地,这时可以使用 | git pull |
③ | 会将冲突文件的冲突代码部分标出 | / |
④ | 手动修改,解决冲突 | / |
⑤ | 正常操作、再次推送 | / |
更多情景
git pull 报错
需要指定合并策略
fatal: Need to specify how to reconcile divergent branches
指定为默认的合并策略:
git config pull.rebase false
git commit 报错
找不到预处理文件
pre-commit hook failed
忽略验证:
git commit -m "message" --no-verify
有时候会要求必须为双引号
git 还原
提交错了分支,然后需要马上把最新修改抛弃:
如果使用的是 HbuilderX: 显示日志,重置到修改前的版本,然后重新提交push即可。
相关软件
TortoiseGit
HbuilderX 进行 git 操作的前置依赖,安装教程可参考博客。
补充的话
在仓库,还提供了许多前端常见需求及实现的归纳整理,欢迎客官看看~
如果这篇笔记能够帮助到你,请帮忙在 github 上点亮 star
,感谢!