跳到主要内容

git常见实战命令

查看状态

$ git status

添加管理(将文件或目录添加到本地仓库的暂存区)

$ git add filename  ### 将指定的文件添加到暂存区
$ git add path/ ### 将指定的目录添加到暂存区
$ git add . ### 将当前目录所有内容(文件和文件夹)添加到暂存区
$ git add --all ### 将当前目录所有内容(文件和文件夹)添加到暂存区

将文件移出暂存区

$ git rm --cached filenamed

将暂存区的内容提交到本地仓库 (yarn lint:fix 处理eslint格式)

$ git commit -m ''
build:用于修改项目构建系统,例如修改依赖库、外部接口或者升级Node 版本等;
chore:用于对非业务性代码进行修改,例如修改构建流程或者工具配置等;
ci: 用于修改持续集成流程,例如修改Travis、Jenkins等工作流配置;
docs:用于修改文档,例如修改README 文件、API 文档等;
style: 用于修改代码的样式,例如调整缩进、空格、空行等;
refactor:用于重构代码,例如修改代码结构、变量名、函数名等但不修改功能逻辑;
perf: 用于优化性能,例如提升代码的性能、减少内存占用等;
test: 用于修改测试用例,例如添加、删除、修改代码的测试用例等。

查看提交日志

$ git log

恢复历史版本

$ git reset --hard hash(前六位)
$ git push -f origin xxx 推送到远程

恢复文件

$ git checkout filename

查看分支

$ git branch

更新远程分支

$ git fetch origin

或者

$ git remote update origin --prune 

创建分支

$ git branch 分支名

推送/拉取到远程分支 git pull是两个指令的组合:git fetch和git merge

$git push/pull origin 分支名

切换分支

$ git checkout 分支名

返回上游分支

$ git checkout -

合并远程分支

$ git merge 远程分支名

代码冲突后,放弃或者退出流程:

放弃,回到操作前的样子,就像什么都没发生过

$ gits cherry-pick --abort

退出,不回到操作前的样子,即保留已经 cherry-pick 成功的 commit,并退出 cherry-pick 流程:

$ git cherry-pick --quit

删除本地已合并的分支:

$ git branch -D [branchName] 

删除远程分支:

$ git push origin --delete [branchname]

添加远程仓库地址 并取名 origin

$ git remote add origin url    //一般新建仓库就有,直接复制

创建并切换到 XXX 分支

$ git branch -M XXX

将本地仓库推送到远程仓库

$ git push -u origin 分支名    //一般新建仓库就有,直接复制   //git push -u origin master   主分支

如果返回: fatal: 远程 origin 已经存在。 此时只需要将远程配置删除,重新添加即可;

$ git remote rm origin

克隆远程仓库(从无到有)

$ git clone https://github.com/jxsrzj0325/mi.com.git

从远程仓库拉取分支(更新)

$ git pull origin master

保存当前未commit的代码

$ git stash

保存当前未commit的代码并添加备注

$ git stash save "备注的内容"

列出stash的所有记录

$ git stash list

删除stash的所有记录

$ git stash clear

应用最近一次的stash

$ git stash apply

应用最近一次的stash,随后删除该记录

$ git stash pop

删除最近的一次stash

$ git stash drop

查看所有tag

$ git tag -l 

打tag

$ git tag v1.0.0 

提交tag

$ git push origin v1.0.0