Git使用

基本操作

http://www.yiibai.com/git/


git init

git add .

git commit -m 'first'

git remote add origin https://github.com//

git pull origin master --allow-unrelated-histories

git pull

git push origin master

git branch --set-upstream-to origin/master

解除和远程仓库的关联

git remote rm origin
Git Reset 三种模式区别

原文:Git Reset 三种模式

reset三种模式区别和使用场景

区别:

  • –hard:重置位置的同时,直接将 working Tree工作目录index 暂存区repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。

  • –soft:重置位置的同时,保留working Tree工作目录index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。

  • –mixed(默认):重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区Repository 中的內容更改至和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到Working Tree工作目录中。

使用场景:

  • –hard:(1) 要放弃目前本地的所有改变時,即去掉所有add到暂存区的文件和工作区的文件,可以执行 git reset -hard HEAD 来强制恢复git管理的文件夹的內容及状态;(2) 真的想抛弃目标节点后的所有commit(可能觉得目标节点到原节点之间的commit提交都是错了,之前所有的commit有问题)。

  • –soft:原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files),所以假如我们之前工作目录没有改过任何文件,也没add到暂存区,那么使用reset --soft后,我们可以直接执行 git commit 將 index暂存区中的內容提交至 repository 中。为什么要这样呢?这样做的使用场景是:假如我们想合并「当前节点」与「reset目标节点」之间不具太大意义的 commit 记录(可能是阶段性地频繁提交,就是开发一个功能的时候,改或者增加一个文件的时候就commit,这样做导致一个完整的功能可能会好多个commit点,这时假如你需要把这些commit整合成一个commit的时候)時,可以考虑使用reset --soft来让 commit 演进线图较为清晰。总而言之,可以使用–soft合并commit节点。

  • –mixed(默认):(1)使用完reset --mixed后,我們可以直接执行 git add 将這些改变的文件內容加入 index 暂存区中,再执行 git commit 将 Index暂存区 中的內容提交至Repository中,这样一样可以达到合并commit节点的效果(与上面–soft合并commit节点差不多,只是多了git add添加到暂存区的操作);(2)移除所有Index暂存区中准备要提交的文件(Staged files),我们可以执行 git reset HEAD 来 Unstage 所有已列入 Index暂存区 的待提交的文件。(有时候发现add错文件到暂存区,就可以使用命令)。(3)commit提交某些错误代码,或者没有必要的文件也被commit上去,不想再修改错误再commit(因为会留下一个错误commit点),可以回退到正确的commit点上,然后所有原节点和reset节点之间差异会返回工作目录,假如有个没必要的文件的话就可以直接删除了,再commit上去就OK了。

远程仓库和本地仓库关联
git branch -u origin/remote_branch your_branch

Git Rebase 用法

链接

tag操作

新建Git标签

1.新建标签

使用git tag -a 标签名命令:

 git tag -a v1.0 -m 'v1.0的备注信息'

通过以上命名,创建了v1.0标签,并使用-m参数添加了备注信息

2.创建带签名的标签

git tag -a命令创建的标签不带签名,如果需要创建带签名的标签可以使用git tag -s 标签名命令,带签名的标签会使用gpg私钥对标签进行加密,以保障标签的安全性。

git tag -s v1.0 -m 'sign v1.0 tag'

创建签名标签后,可以使用git tag -v 标签名命名验证标签的合法性:

git tag -v v1.0
推送标签到远程服务器

添加标签后,标签会被添加到git本地代码库中。要想将标签推送到远程服务器,需要将其推送到远程服务器中,使用git push命令只能推送提交的代码,不能推送标签,提交标签需要增加–tags参数:

git push --tags
查看标签

查看项目中所有标签使用git tag命令,该命令会列出所有已添加的标签:

git tag

git tag命令会简单显示标签名,如果需要查看描述信息,则使用以下命令:

git tag -ln

回滚版本时,我们需要根据标签名查找相应的commit提交信息。git show 标签名会列出标签信息,及其下详细的提交信息:

git show v1.0
删除本地标签

标签提交有误,或想删除很久以前的标签,可以git tag -d 标签名命令将标签删除:

git tag -d v1.0
删除远程标签

1.向远程标记名称推送一个“空”引用

git push origin :tagname

2.使用–delete选项

git push --delete origin tagname
git 分支管理

Git教程-分支和tag管理

GIT分支命名规范

代码分支及版本管理规范

介绍一个成功的 Git 分支模型 Release 分支

各种软件版本号扫盲——Beta RC Preview release等

Git学习:各阶段回退方法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值