与远程库关联
git remote -v | 查看关联的远程仓库 |
git remote add origin git@... | 关联远程仓库 |
git remote remove origin | 取消本地目录下的远程关联 |
***
迁移(推送已有项目):
在新地址创建group,创建project->将原来的项目拉下来->删除原来的关联,add新的地址->push
向远程空仓库推送本地项目,需要mantainer,developer可以创建project但push会报错:A default branch (e.g. master) does not yet exist for... 同下面链接的问题一样
https://gitlab.com/gitlab-org/gitlab/-/issues/25282
从远程库克隆到本地
git clone 远程库地址
放弃工作区修改(还没有add到暂存区)
放弃修改:
git checkout -- filename | 部分文件 |
git checkout -- . | 所有文件(不包含新增文件 |
放弃新增:
rm filename / rm dir -rf | 部分文件 |
git clean -xdf | 所有文件 |
放弃暂存区修改(已经add,但未commit)
git reset HEAD <file> | 放弃commit,回到工作区 |
git reset HEAD . | 放弃所有文件 |
创建分支
git branch | 查看分支 |
git checkout -b new_branch | 创建并切换到new_branch分支 |
git push origin local_branch:remote_beanch | 将本地分支local_branch推送到远程分支remote_branch |
删除分支
本地开发分支push到远程,直接删除时提示:The branch 'xxx' is not fully merged
需要等远程分支merge之后,重新pull一次,即本地分支被合并后才可以用命令:git branch -d featurename | 删除 |
否则使用:git branch -D featurename 丢弃一个没有被合过的分支 | 强制执行 |
版本回退
git reset --hard commit_id
如何查commit_id:
git log (--pretty=oneline) | 回退查看需要退回的版本 |
git reflog | 恢复前确定要恢复的版本 |
git reset --hard HEAD^ | 回退到上一版本(HEAD表示当前版本 |