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 -q -b ssr --no-track origin/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

 

posted @ 2022-03-11 16:17  sssssssssssssrain  阅读(75)  评论(0)    收藏  举报