一、提交流程 (先stash,拉取最新代码后再提交)
git stash (将本次修改存入本地仓库)
git pull (拉取最新代码)
git stash pop (将本地仓库代码取出合入最新代码)
git add .
git commit -m 'message'
git push
二、git配置
生成ssh
ssh-keygen -t rsa -C "youremail@example.com"
配置名称和邮箱
git config --global user.name "Your Name"
git config --global user.email you@example.com
首次提交
git init
git remote add origin git@gitlab.com:aaa/aaa.git
git add .
git commit -m 'message'
git push -u origin master
新加/更改远程地址
@新加:git remote add origin git@gitlab.com:aaa/aaa.git
@更改:git remote set-url origin http://aaa/john/git_test.git
一、分支..........................................
清除远程分支的本地缓存
git fetch -p origin
本地缓存仓库
git stash
git stash list 查看
git stash pop stash@{0} 取出第一条 (默认最后一条stash@{0})
git stash drop stash@{0} 删除第一条 (默认丢弃最后一条stash@{0})
git stash clear 清除所有
查看分支
git branch -a
查看远程地址
git remote -v
切换分支
git checkout aaa(切换)
git checkout -b aaa(创建并切换)
切换到指定commit
git checkout commitId (切到指定commitid)
git checkout master (切换回最新分支,切当前分支即可回到最新提交)
合并分支
git merge dev(将dev合并到当前所在分支master)
新建本地分支并提交到远程
git checkout -b aaa
git push -u origin aaa
如果已经有远程分支,而本地没有直接:
git checkout net (切换并拉去别人的远程分支,不要加-b)
删除分支
git branch -D aaa (删除本地)
git push origin --delete aaa(删除远程)
二、标签.............................................
创建标签
git tag -a v1.0 -m 'v1.0' commitID(无id则最后一次提交)
查看标签
git tag
查看指定标签详细信息
git show v1.0
提交tag到当前commit
git push origin --tags
删除标签
git tag -d v1.0
git push origin :refs/tags/v1.0(删除远程)
获取远程版本
git fetch origin tag v1.0
三、撤销..............................................
将工作区文件修改回退到上一次commit
git checkout a.html(没有add的文件回退到上一次commit)
将暂存区恢复到工作区
git reset a.html (add之后恢复到add之前)
将所有文件回退到上一次commit
git reset --soft(不回退add状态)/hard (回退所有文件add之前/编辑之前上传一次commit原始状态)
如果已经commit,想取消commit(不取消add)
git reset --soft head^
回退到上一次/指定commit(和上面的区别在于soft和hard)
git reset --hard(hard编辑之前上一次commit) head^/commitID(撤销最后一次/撤销到指定commitid)
git push -f(强行回退指定commit) (gitlab setting 设置允许force提交)
删除新增文件和文件夹
git clean -xdf