# git常用基础命令
# 分支操作
1、git branch:创建分支
2、git branch -b:创建并切换到新建的分支上
3、git checkout:切换分支
4、git branch:查看分支列表
5、git branch -v:查看所有分支的最后一次操作
6、git branch -vv:查看当前分支
7、git brabch -b 分支名 origin/分支名:创建远程分支到本地
8、git branch --merged:查看别的分支和当前分支合并过的分支
9、git branch --no-merged:查看未与当前分支合并的分支
10、git branch -d 分支名:删除本地分支
11、git branch -D 分支名:强行删除分支
12、git branch origin 分支名:删除远处仓库分支 (测试了好像不管用啊!!!!)
13、git merge 分支名:合并分支到当前分支上
14、git fetch -p : 获取远程仓库的新分支以及删除远程仓库已删除的分支
15、git push origin :分支名 删除远程分支(用了多年,还是这个好用,12试了不管用)
# 暂存操作
1、git stash:暂存当前修改
2、git stash apply:恢复最近的一次暂存
3、git stash pop:恢复暂存并删除暂存记录
4、git stash list:查看暂存列表
5、git stash drop 暂存名(例:stash@{0}):移除某次暂存
6、git stash clear:清除暂存
# 回退操作
1、git reset --hard HEAD^:回退到上一个版本
2、git reset --hard ahdhs1(commit_id):回退到某个版本
3、git push origin HEAD --force :强推到远程
4、git checkout -- file:撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)
5、git reset HEAD file:撤回暂存区的文件修改到工作区
# 标签操作
1、git tag 标签名:添加标签(默认对当前版本)
2、git tag 标签名 commit_id:对某一提交记录打标签
3、git tag -a 标签名 -m '描述':创建新标签并增加备注
4、git tag:列出所有标签列表
5、git show 标签名:查看标签信息
6、git tag -d 标签名:删除本地标签
7、git push origin 标签名:推送标签到远程仓库
8、git push origin --tags:推送所有标签到远程仓库
9、git push origin :refs/tags/标签名:从远程仓库中删除标签
# 常规操作
1、git push origin test:推送本地分支到远程仓库
2、git rm -r --cached 文件/文件夹名字:取消文件被版本控制
3、git reflog:获取执行过的命令
4、git log --graph:查看分支合并图
5、git merge --no-ff -m '合并描述' 分支名:不使用Fast forward方式合并,采用这种方式合并可以看到合并记录
6、git check-ignore -v 文件名:查看忽略规则
7、git add -f 文件名:强制将文件提交
# git创建项目仓库
1、git init:初始化
2、git remote add origin url:关联远程仓库
3、git pull
4、git fetch:获取远程仓库中所有的分支到本地
# 忽略已加入到版本库中的文件
git update-index --assume-unchanged file:忽略单个文件
上面的方式没有尝试过,下面的方式使用过,参考地址 (opens new window)
git rm --cached file_path : file_path为需要忽略的文件路径或者目录路径
然后在 .gitignore 文件里添加上面的file_path
git commit -am 'filter somefiles'
git push
# 取消忽略文件
git update-index --no-assume-unchanged file
# 拉取、上传免密码
git config --global credential.helper store
# 设置别名
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.st status
2
3
4
5
6
7
8
9
# 设置全局的用户名和邮箱
git config --global user.name "itfzy.cn"
git config --global user.email "xxx@itfzy.cn"
2
3
# git 2.16以后版本有个默认行为是执行git branch等命令时,输出效果会另起一行,感觉挺怪的,可以通过下面的命令全局关闭
git config --global pager.branch false
或者每次执行时添加 --no-pager 选项,比如下面这样:
git --no-pager branch
# git报错案例解决方案
https://blog.csdn.net/qq_34121797/article/details/79561110 (opens new window)
# 以maser分支覆盖本地内容
git fetch --all && git reset --hard origin/master && git pull
2
3