持续更新中
git rm -r --cached dir/ #停止跟踪文件的所有文件
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改
查看用户配置
git config user.name #查看用户名
git config user.email #查看邮箱
设置用户名和邮箱
git config --global user.name "username" git config --global user.email "email"
修改最后一次commit的信息
git commit --amend
修改git的编辑器
git config --global core.editor vim
git的配置文件夹
.git/config #可以直接添加[user]/[core]等相应的配置
git config -l #查看git的所有配置
git push origin master #提交到默认的远程主分支上
git branch -D XX #删除本地分支
git push origin :xx #删除远程分支(原理:是把一个空的分支推送到服务器,相当于删除该分支;:前面有空格)
git push origin --delete XX #删除远程分支
git clone所有分支
git branch -r #查看远程分支
或
git branch -a #查看所有分支
会显示
origin/HEAD -> origin/master origin/daily/1.2.2 origin/daily/1.3.0 origin/daily/1.4.1 origin/develop origin/feature/daily-1.0.0 origin/master
然后直接
git checkout develop
git log --graph #图标方式显示提交记录
git status #查看当前git状态
git branch -m devel develop #重命名本地分支
git pull oscgit master等同于
1、git fetch oscigit master
2、git merge oscigit/master
建议分部使用,防止git pull自动合并
git remote rm XX #删除远程仓库:XX
git remote add ..... #添加远程仓库
git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。
1.push单个tag,命令格式为:git push origin [tagname]
例如:
git push origin v1.0 #将本地v1.0的tag推送到远端服务器
2.push所有tag,命令格式为:git push [origin] --tags
例如:
git push --tags
或
git push origin --tags
git push --tags 推送全部标签
git tag -d xx xx:标签名;删除本地标签
git push origin :refs/tags/xx xx:标签名;删除远程标签,即提交一个空标签
git config core.ignorecase false 设置为区分大小写(默认是不区分大小,文件夹...)
git修改远程仓库
git remote set-url origin http:xxxxx