git常用命令汇总


upload successful

stash

存草稿

git stash

git stash save “一些备注信息”

git stash list #列出暂存列表,便于定位

pull之后再将草稿恢复出来

git stash pop –index 恢复最近的暂存代码

git stash pop stash@{1} 恢复指定id的暂存区代码

删除存储进度

git stash drop [stash_id]

git stash clear #清空

提交信息修改

修改全局或针对仓库修改作者、邮箱

git config user.name "balabala"
git config user.email "bala@bala.com"
全局只要加上--global即可

修改最后一次commit注释信息

git commit –amend

修改最后一次作者、邮箱

git commit –amend –author=”username

修改前面好几次commit信息

git rebase -i HEAD~5 #这个代表最后5条commit

git rebase -i {commitId} #指定id的commit ,如 git rebase -i d98def

之后会出现编辑窗口,操作类似于vim编辑器,将pick改为edit字符,然后保存退出(:wq!)

git commit --amend #只修改注释信息
git commit --amend --author="username<email>" --no-edit #只修改作者、邮箱
git rebase --continue
重复以上代码,直至结束(需要注意,这个操作不能修改第一次提交的信息)

修改第一次的commit信息(需要单独使用)

git rebase -i –root

git commit –amend #只修改注释信息

git commit –amend –author=”username“ –no-edit #只修改作者、邮箱

仓库分支操作

查看分支

git branch -a

检出分支(切换)

git checkout balabala

新建分支

git branch balabala2

查看分支

git branch -v

合并分支

首先切换到目标分支1,将分支2的代码并到1上面去,就是

git merge 分支2

如果有冲突,自己修改代码解决即可

基本操作

clone 别名

git clone http://balabala/ddd.git 新名字 #例如 git clone http://c.com/b.git good-idea

克隆一个裸仓库

git clone –bare git地址 #例如: git clone –bare git://192.168.10.XX/git_repo/project_name.git

以镜像方式推送到一个新仓库

mkdir new_project_name.git
git init --bare new_project_name.git
cd project_name.git
git push --mirror git@192.168.20.XX/path/to/path/new_project_name.git

切换remote地址

git remote set-url origin remote_git_address

版本回退

git reset –soft 只回退commit信息,对现有版本库改动比较小

git reset –hard commitId #彻底回退到某个版本,所有的修改内容都会丢失

git reset –mixed 此为默认方式,等同于不带任何参数的git reset

如果是放弃所有,直接执行

git checkout .

此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。
但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

已经执行git add缓存了的:

git reset HEAD filepathname (比如: git reset HEAD readme.md)

同样放弃所有就是

git reset HEAD .

执行完此命令后,文件状态就回归到第一种情况了,此时再按照情况1处理。

3.已经用 git commit 提交了的:

可以用命令回退到上一次commit的状态

git reset –hard HEAD^

统计代码修改量 按作者

git log --author="zhangdong" --pretty=tformat: --numstat | \
awk '{ add += $1; subs += $2; loc += $1 - $2 } END \
{ printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

upload successful

git只拉取部分文件,用于分发等

https://blog.csdn.net/qq_45744182/article/details/126991615


文章作者: 无名小卒
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 无名小卒 !
  目录