GIT基础整理
一些概念:
本地仓库由git维护的三棵“树”组成:
第一个是工作目录,它持有实际文件;
第二个是暂存区(Index),它像个缓存区域,临时保存改动;
最后是HEAD,它指向最后一次提交的结果。
分支:用来将特性开发绝缘开来的。master是默认的分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
里程碑即tag:其管理和分支管理非常类似。里程碑和分支一样也是以引用的形式存在的,保存在.git/refs/tags/路径下。引用可能指向一个提交,但也可能是其他类型(Tag对象)
一些命令:
检出仓库:
创建一个本地仓库的克隆版本:
git clone /path/to/repository
创建远端服务器上的仓库的克隆版本:
git clone username@host:/path/to/repository
添加和提交:
提出更改添加到暂存区:
git add <filename> git add *
提交改动到HEAD区:
git commit -m "代码提交信息"
推送改动:
改动提交到远端仓库:(master是创建仓库时“默认的”分支,可以换成想要推送的任何分支)
git push origin master //命令行中的-u参数,在推送成功后自动建立本地分支与远程版本库分支的追踪 git push -u origin master
切换、删除和推送分支:
git checkout -b feature_x //切换到feature_x的分支 git checkout master //切换回主分支 git branch -D feature_x //新建的分支删掉,参数-D则可强制删除尚未合并的分支 git push origin <branch> //分支推送到远端仓库,不然该分支就是不为他人所见的
更新与合并:
git pull //更新本地仓库至最新改动 git remote //查看当前项目下远程 git remote add <branch> //增加新的分支链接 git fetch <branch> //获取分支的远程更新 git merge <branch> //合并其他分支到你的当前分支
替换本地改动:
//使用 HEAD 中的最新内容替换掉本地改动,已添加到暂存区的改动以及新文件都不会受到影响 git checkout -- <filename> //丢弃本地的所有改动与提交:服务器上获取最新的版本历史,并将本地主分支指向它 git fetch origin git reset --hard origin/master
创建里程碑:
轻量级里程碑:gittag<tagname>[<commit>]命令
带说明的里程碑:gittag-a<tagname>[<commit>]命令---保存里程碑说明、指向、创建里程碑的用户等信息
带签名的里程碑:gittag-s<tagname>[<commit>]命令---引入了PGP签名,保证了所创建的里程碑的完整性和不可拒绝性
相关推荐
baolen 2020-08-15
炼金术士lee 2020-08-15
huangchunxia 2020-08-07
lljhi0 2020-07-21
huangchunxia 2020-07-08
zhangxing 2020-07-05
ArkShen 2020-07-05
nebulali 2020-07-05
formula 2020-11-12
huhongfei 2020-11-05
乾坤一碼農 2020-10-27
liumengyanysu 2020-10-22
E哥的aws认证攻略 2020-10-15
guying 2020-10-05
好脑筋不如烂笔头 2020-09-17
Equation 2020-08-09
Balmunc 2020-08-02