git 常用操作

72 阅读1分钟

新建的仓库,初始化本地:

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)