新建的仓库,初始化本地:
git remote add origin https://gitee.com/xxx/xxx.git
git push -u origin master
更新本地远程库:
git remote update origin --prune
分支:
git branch
创建分支 git branch <name>
删除分支 git branch -d <name>
删除远程分支 git push origin --delete <name>
合并分支 git merge <name> (合并name的分支到当前分支)
标签tag:
git tag
创建tag git tag <name>
创建tag带注释 git tag -a <name> -m <注释>
提交tag git push origin <name>
git push origin --tags
删除tag git tag -d <name>
删除远程tag git push origin :<name>
撤销:还没git push到远程
已经git add了
git add *
git status
#取消暂存
git reset HEAD <filename>
取消commit
git reset --soft HEAD^
回滚:已经git push到远程
1.若push的时候增加了tag
git checkout <tag>
git checkout <branch_name>
2.撤销指定文件到指定版本
git log <filename>
git checkout <commitID> <filename>
3.删除最后一次远程提交
方式一:
git revert HEAD
git push origin master
方式二:
git reset --hard HEAD^
git push origin master -f
git reset || git revert
1)通过git reset是直接删除指定的commit
git log # 得到你需要回退一次提交的commit id
git reset --hard <commit_id>
git push origin HEAD --force # 强制提交一次,之前错误的提交就从远程仓库删除
2)通过git revert是用一次新的commit来回滚之前的commit
git log # 得到你需要回退一次提交的commit id
git revert <commit_id> # 撤销指定的版本,撤销也会作为一次提交进行保存
3) git revert 和 git reset的区别
(a). git revert是用一次新的commit来回滚之前的commit,此次提交之前的commit都会被保留( 会有 两次 commit id);
(b). git reset是回到某次提交,提交及之前的commit都会被保留,但是此commit id之后的修改都会被删除 ( 只有一次 commit id)