git

优秀博文

查看远程仓库的名字


默认为 origin

git remote 

查看更详细远程分支的名称

可以查看到fetchpush地址

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 

补打标签

git tag -a  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

Gitflow工作流


git_第1张图片
Snip20170404_18.png

你可能感兴趣的:(git)