Git基础
前言
在学习工作,需要对项目进行版本管理,所以需要使用到Git,这里总结一下我自己平时使用Git的技巧,供大家参考,有不对的地方请各位大佬指出。
示例
1、配置user信息
Tips:
- --local :只对某个仓库有效;
- --global :对当前用户所有仓库有效;
- --system :对系统所有登录的用户有效;
2、新建git管理的项目
3、提交变更
注意:git commit主要是将暂存区里面的改动给提交到本地的版本库,修改文件之后直接提交会出错,提示现在的文件还没有被git管控,所以要先将文件加到暂存区,再提交;
Tips:
- 修改历史的commit的message:先“git rebase -i 需要修改的父commit的ID”,然后在它弹出的文件里将需要修改的commit的“pick”改成“r”,然后保存退出;接着,在后续弹出的文件中修改message即可;
- 把连续的commit合成一个:先“git rebase -i 要合成的最先的commit的父commit的ID”,然后在它弹出的文件里将最后一个要合成的commit的“pick”保留,其他的要合成的commit的“pick”改成“s”,保存退出;接着,在后续弹出的文件里修改message即可;
- 把间隔的commit合成一个:与上述基本一致,只是在第一次弹出的文件中把需要合并的相关commit放在一起再修改即可,如果是父commit的ID是HEAD节点,那么要手动写进去;
- 取消最近几次的commit:“git reset --hard 起始的commit的ID”,这种指令会导致后面的commit丢失,是个危险指令;
4、查看版本演变历史
Tips:
- git log :查看当前分支的历史;
- git log --oneline :简洁描述历史信息;
- git log -n3 --oneline :简洁描述最近3次的历史信息;
- git log --all --graph :使用图形化的方式查看所有分支的历史;
- git branch -av :查看本地有多少分支;
- git branch -D temp :删除名为temp的分支;
- git checkout -b temp fba7964 :在fba7964这个节点上创建名为temp的分支;
- git checkout master :切换到master分支;
5、将工作区的文件恢复成暂存区的文件
Tips:
- git checkout -- 文件/文件夹
6、本地仓库同步到github
- ssh-****** -t rsa -b 4096 -C "[email protected]" :配置github公私钥
- git remote add github [email protected]:sammyashen/TestProj.git :关联远端git仓库,以github命名这个地址
- git fetch github master :把远端master分支最新的内容拉到本地
- git merge --allow-unrelated-histories github/master :如果git merge合并的时候出现refusing to merge unrelated histories的错误,原因是两个仓库不同而导致的,需要在后面加上--allow-unrelated-histories进行允许合并,即可解决问题。如果还不能解决问题,就把本地的remote删除,重新git remote add添加远程仓库,再按上面的方法来,问题解决。
- git push github master :把本地内容推到远端
- git remote -v :查看有几个远端关联
总结
To be continue......