查看远程仓库的名字
默认为 origin
git remote
查看更详细远程分支的名称
可以查看到fetch
跟push
地址
git remote -v
将本地分支推送到远程
git push origin local_branchName:remote_branchName
删除远程分支
方式一
git push origin :branch-name 注意origin后有空格
方式二
git branch -r -d origin/branch-name
本地分支跟远程分支建立关联
git branch --set-upstream dev origin/dev 制定本地dev分支跟远程origin/dev分支的链接
撤销
在修改在工作区还未添加至暂存区
git checkout -- file
修改的内容已经添加至暂存区
可以把暂存区的修改撤销掉 (unstage),重新放到工作区
git reset HEAD file
撤销提交至版本库
git reset --hard commit_id 回退到之前的某次提交版本 当前的工作区 跟暂存区都会重置 暂存区(stage)会清空 工作区会清空
git reset --hard HEAD^ HEAD 代表当前版本
--soft commit_id 只改变引用的指向,不改变暂存区和工作区
--mixed commit_id 不适用参数 默认是mixed 改变引用指向及重置暂存区,但是不改变工作区
--hard commit_id
删除文件
注意:删除文件后,修改就被提交到暂存区
git rm
分支
创建分支
git branch 分支名
删除分支
git branch -d 分支名称
如果删除一个未合并的分支会提示,可以使用强制删除分支
git branch -D 分支名
切换分支
git checkout 分支名称
创建并切换分支
git checkout -b 分支名
将分支整合到当前分支
git merge 分支名
合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息
如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息
git merge —no-ff -m “” 分支名 表示禁用Fast forward
推送分支
就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上
git push origin master
如果要推送其他分支,比如dev,就改成
git push origin dev
标签
打标签
git tag v1.0 打一个新标签v1.0
创建带有说明的标签
git tag -a v0.1 -m “标签说明“ commit_id 创建带有说明的标签 用-a指定标签名,-m指定说明文字
查看所有标签
git tag
查看标签说明
git show <tagname>
补打标签
git tag -a <tagname> commint_id
查看comminit_id
git log 或者 git reflog
删除标签
git tag -d 标签名
推送某个标签到远程
git push origin 标签名
一次性推送全部尚未推送到远程的本地标签
git push origin --tags
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
git tag -d 标签名
从远程删除
git push origin :refs/tags/标签名 。删除命令也是push,格式
使用git checkout tag即可切换到指定tag,例如:git checkout v0.1.0
切换到tag历史记录会处在分离头指针状态,这个是的修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,
如果需要修改可以尝试git checkout -b 分支名 tag 创建一个基于指定tag的分支,例如:git checkout -b tset v0.1.0 这个时候就会在分支上进行开发,之后可以切换到主线合并
git checkout -b branch_name tag_name