Git常用命令
HEAD 指向当前所在的分支
git clone 克隆git项目
git clone http://xxx.git 克隆git项目到当前目录,文件夹名与项目相同
git clone http://xxx.git new_folder 克隆git项目到当前目录,文件夹名为new_folder
git clone --bare http://xxx.git 用于Repo迁移。$ cd xxx.git $ git push --mirror http://new-xxx.git (remote先创建好)
git init 将当前目录设置为git仓库
git remote add origin http://xxx.git
git status 查看git文件状态
Untracked files: 未跟踪的文件
Changes not staged: 文件更新了但未添加
Changes to be committed: 文件已暂存
git status -s 以简洁的方式查看更改 --short
git add 添加文件到暂存区
git add . 将未暂存的文件加入暂存区
git add */page 将page文件夹下的改动放到暂存区
git reset
git reset 将暂存区所有文件撤回
git reset */sdf.js 将暂存区的sdf.js撤回
git reset --hard abc123 退回到abc123版本, 之后需要git push -f
git diff 查看文件差异
git diff */index.js 查看index.js的文件差异
git diff --staged */index.js 查看暂存区的index.js文件差异
git commit 提交暂存区文件
git commit -m 'ss' 提交暂存区文件,提交信息为ss
git commit -am 'ss' 直接提交所有跟踪过的文件
git commit -amend 将暂存区文件加入到上一次的commit里
git clean 清理没有track的文件
git clean -n 显示将要清理的文件
git clean -df <path> 清理未track的文件夹和文件
git rm 删除非暂存区的文件
git rm src/utils/aa.js 删除aa.js
git rm -f src/utils/aa.js 强制删除已修改过的aa.js
git mv file_from file_to 移动文件
git log 查看提交历史,按q退出
git log -p -2 显示每次提交所引入的差异,只看最近2次
git log --stat 附带简略统计信息
git log --pretty=oneline 用一行显示,format可以设置格式
git log --since=2.weeks 显示近2周的commit
git log --grep=feat 显示提示信息带有feat的记录
git log --after='2022-01-01' 显示20220101之后
git log --follow */menu.js 显示文件修改记录
git log --author=authorname 显示某个user提交记录
git remote 查看远程仓库
git remote -v 查看具体git地址的fetch&push
git remote add sr http://xxx.git 添加一个叫sr的远程仓库
git remote show origin 显示origin仓库的信息
git remote rename sr ssrr 将sr改名为ssrr
git remote remove sr 将sr移除
git remote set-url origin http://sss.git 更改origin仓库
git fetch 从远程仓库中获得数据
git fetch origin 从origin仓库中获取所有分支的引用和数据
git pull 抓取关联远程分支并合并到当前分支,fetch&merge
git pull origin master 拉取origin的master分支合并到当前分支上
git pull origin sr:sr 摘取origin的sr分支合并到本地sr分支上
git push 推送提交到远程仓库
git push origin master 推送提交到origin仓库的master分支
git push origin --delete ssr 删除origin的ssr分支
git push origin HEAD 推送同名分支到远端
git branch 显示本地分支
git branch -r 显示远程分支
git branch -r -l *prod* 或 git branch -r | grep sr 显示远程包含sr的分支
git branch sr 创建一条名为sr的分支
git branch -d sr 删除sr分支
git branch -vv 显示本地分支更多信息,包含关联
git branch -u origin/ssr 设置本地分支跟踪origin的ssr分支, --set-upsteam-to
git checkout 切换分支、文件
git checkout sr 切换到sr分支
git checkout -b sr 以当前分支创建一条名为sr的分支并切换过去
git checkout -b ssr origin/ssr 以origin的ssr创建一条名为ssr的分支
git checkout --track origin/ssr 设置本地分支跟踪origin的ssr分支
git checkout **/index.js 恢复非暂存区中index.js的更改
git merge 合并分支
git merge hotfix 将hotfix分支合并到当前分支
git rebase 将提交到某一分支上的所有修改都移至另一分支上
git revert 重做某个版本
git revert -n abc123 重做abc123这个版本
git tag 标签,方便以后做代码对比
git tag -a v1.1 -m 'msg' 为当前暂存或分支打标签
git tag -a v1.0 9sf9304ff 为9sf9304ff那次提交打标签
git tag -d v1.1 删除v1.1标签
git push origin 1.0.1 将1.0.1推送到origin
git show 1.0.1 显示1.0.1的记录
git config 更改配置,别名
git config --global alias.co checkout 添加别名 git co = git checkout
git config --global alias.unstage 'reset HEAD --'
git reflog
git reflog show sr 查看sr的创建和提交记录
.gitignore

浙公网安备 33010602011771号