Git学习笔记

Git 是由 Linux 之父 Linus Tovalds 为了更好地管理linux内核开发而创立的分布式版本控制/软件配置管理软件。

简单来说,Git是一个管理代码的历史记录的工具。

这是一篇Git命令备忘录,找Git教程的请出门左拐

Github

Github是一个怎样的存在————————是一个网上真人约会场所
what_is_github
具体的Git安装和注册Github账号的过程可以参考菜鸟教程

Git配置

添加SSH

1
2
3
4
5
$ ssh-keygen -t rsa -C "your_email@youremail.com"
//在本地创建ssh key,email地址为在Github上注册的邮箱
//在C盘的用户目录下找到.ssh(可能被隐藏)里面的id_rsa.pub
//将id_rsa.pub里的东西全部拷过去即可
$ ssh -T git@github.com //验证是否成功

设置username和email

github每次commit都会记录他们

1
2
$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"

Git项目建立

方式一:

1
2
3
4
5
6
7
8
/首先在Github新建一个空仓库---必须是空仓库/
$ git init //初始化一个Git仓库
$ git remote add origin git@github.com:Magicwangs/Local.git
//添加默认远端为Local.git
/*接下来直接把你想要添加到你库里的东西拖进仓库目录下*/
$ git add -A //把所有的文件更新到仓库中
$ git commit -m "代码提交信息" //说明你这次修改了什么
$ git push origin master //添加到origin的master分支

方式二:

1
2
3
4
5
6
7
8
/*从别人那里Fork或者本来在自己的仓库就有代码的*/
$ git clone git@github.com:Magicwangs/chenguanfu511.git
//直接git clone过来即可,但默认只添加master分支
$ git branch -a //查看隐藏分支
//可以在本地新建同名分支,再pull下来,或者一步到位
$ git checkout -b test origin/test
//或者
$ git checkout -t origin/test

更新远端修改和合并

1
2
3
4
$ git pull origin master //将origin远端的master分支内容更新到本地
$ git merge test
//将test分支和master合并——用test代替当前分支
所以一般master为最终发行版本,在test分支修改好后再合并

Git分支

1
2
3
4
5
6
7
8
9
10
$ git branch //查看当前有哪些分支
$ git branch fir //新建一个分支fir
$ git checkout -b test
//新建并切换到test分支,里面的内容就是新建时所在分支的内容
$ git checkout master //切换回master分支
$ ls //查看当前分支的内容
$ git branch test //删除本地test分支
$ git push origin :test //删除远程库的test分支
$ git push -u origin test
//在远端新建一个test分支,并把更新推送上去

版本回退

1
2
3
4
$ git log //查看commit提交历史
$ git log --pretty=oneline //能看到commit id
$ git reset --hard a8d4349
//切换到当前分支以前的状态,a8d4349为commit id前7位

如何管理Git分支?

两个主要分支

  1. master:主分支,强调稳定性
  2. develop:开发分支,各种最新功能(feature)和最新的bug修复(hotfix)都会合并进develop。稳定的新功能应该都要合并到develop分支

三个支援分支

  1. feature:功能分支用于开发新功能,从develop中分支出来,完成后merge回develop
  2. release:当在某个节点完成feature开发时,需要对feature进行测试与发布时候,可以新建一个release分支,release分支可以对应测试环境,不应该在release分支上进行新功能开发,release分支仅仅应该进行功能验证与bug修复。release分支发布时,要双向merge到develop和master。
  3. hotfix:紧急修复分支,当develop或者master发现bug时,可以通过新建hotfix分支,来修复bug,修复后双向merge到develop和master
    git-flow
    git flow指令
    1
    2
    3
    4
    5
    6
    7
    $ git flow init
    //在一个git中初始化,会提示命名惯例,一直回车即可,会帮你新建develop分支
    $ git flow feature start picture //从develop中新建feature分支
    $ git flow feature finish picture //结束该分支,自动merge回develop分支,并删除该分支
    $ git flow feature publish picture //将一个feature分支推送到远端
    $ git flow feature pull picture2 //将别人上传的feature分支pull下来
    //其他的也差不多

git-flow 备忘清单

参考资料

  1. 廖雪峰的Git教程
  2. Git 参考手册
  3. how-to-use-github
  4. Github 简明教程
  5. Git-简明指南

本文标题:Git学习笔记

文章作者:Yoosen

发布时间:2017年10月09日 - 19:10

最后更新:2017年10月09日 - 20:10

原始链接:http://www.yoosen.top/2017/10/09/Git学习笔记/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%