git和github学习笔记全

最近做项目代码要频繁提交,每次在github上放master显然不现实,所以想学习git和github教程,但网上的教程都比较繁琐。所以就着武配齐的b站视频来做个笔记作为备忘。
第一集:git是分布式版本控制软件。演变过程就是不断更新的文件->本地版本控制(只有一个在本地,历史版本使用git自己的数据库来保存)->集中式版本控制代表软件svn(跟本地的区别是使用服务器来存储历史版本)->分布式版本控制工具(本地和服务器都保留版本,根据需要提交)
第四集:流程:进入要管理的文件夹(进入)->初始化(提名)->管理->生成版本
Git bash here->git init 使用git管理所在文件夹。.git文件夹存储git的存储和版本信息。Git status检测当前文件夹下的文件状态。红色为未管理新文件或是已修改文件,绿色为已管理文件,无色即已经生成版本。Git add index.html要管理的文件,git add .将当前文件夹下所有未管理的文件管理起来。生成版本git commit –m “第一个版本的描述信息”,生成后git status为空。之后对文件夹内容做修改git status就可以检测出来。这时再git add .然后git commit –m “第二个版本的描述信息”,还可以使用git log来显示
第五集:配置,按老师来就行了,之前我已经解决过了。Git config –global user.email922@qq.com git config –global user.name “lz”
第六集:git三大区域,工作区:暂存区:版本库:工作区分为已管和新增,这个在git init后会自动检测,提交到暂存区使用git add,可以用git add .也可以用git add ,提交到版本库使用git commit
第七集:git reset –hard 版本号。回滚到所在版本号的内容。此时git log没法显示被回滚掉的版本。Git reflog显示所有版本号再git reset –hard即可。
第八集:git reset –soft 版本号 回滚到暂存区(用的少),git checkout回到原始状态(修改文件后)git reset HEAD index.html回到未暂存的状态。两个连用可以在没commit之前回到原始状态。
第十集:大概了解了分支的概念。线上代码出bug可以通过分支进行修复,最后进行合并。主干master,分支branch
第十一集:git branch查看所在枝干git branch dev创建一个名为dev的分支。Git checkout dev从master切换到dev分支,在这里开发不影响master,git checkout master切换回主支,git merge bug将bug分支合并到主分支里。Git branch –d bug删除bug分支,总的来说有冲突的话,不修改原有代码merge,如果有冲突的话要手动修改代码。
第十二集:工作流:开发规范:master主支代表上线功能,dev分支开发,成熟后进行合并,
第十三集:github是代码托管网站。Github和git没有关系,但可以无缝衔接。注册账号,创建仓库,本地代码推送,gitlab是自建的工具。
第十四集:基于github做代码托管。其它的跟之前一样,用git管理该文件夹,多的命令是git remote add orgin https://github.com/wupeiqi/dbhot.git,(给远程仓库赋别名orgin)和git push –u orgin master(或dev,branch),现在的github多了一个指令git branch -M main就是把master主支改名为main,之后git push –u orgin main,效果一样的。将分支推进去git push –u origin dev。Git clone https://github.com/1.git克隆仓库代码,这里克隆的代码虽然只显示master,但其实包含其它分支,(内部已实现git remote add orgin 远程仓库地址)可以git checkout 分支。
第十五集:git push origin dev手动指定把dev提交到origin仓库。分布式开发不用git clone因为代码只有一部分更新,git pull origin dev从远程仓库dev分支拉来代码,在公司开发流程:切换到dev分支进行开发 git checkout dev->把master分支合并到dev git merge master->修改代码->提交代码git add . git commit –m ‘xx’ git push origin dev回到家中继续:切换到dev分支进行开发 git checkout dev->拉代码 git pull origin dev->开发->提交代码git add . git commit –m ‘xx’ git push origin dev 开发完毕要上线:将dev分支合并到master进行上线git checkout master git merge dev git push origin master->把dev分支也推送到远程git checkout dev git merge master git push origin dev。
第十六集:开发流程在家git add . git commit –m ‘在家’ Git push origin dev到公司git pull origin dev要手动解决冲突。Git pull origin dev从代码仓库线上拉取代码到本地,等于两个命令合体(git fetch origin dev git merge origin/dev)把版本库拉取的代码合并到工作区。
第十七集:rebase(变基),使git记录简捷,git rebase –i 版本号(可选)或者git rebase –i HEAD~3将最后三条记录进行合并,根据修改版本前的标识符来进行合并。如果某个版本已经提交到远程仓库后,最好不要将它合并掉。
第十八集:git rebase的第二种应用场景git log --graph --pretty=format:“%h %s”
第十九集:git rebase的第三种应用场景在家和在公司,不使用git pull使用git fetch origin dev,git rebase origin/dev在合并的过程中就不会产生分叉。Git rebase产生冲突,解决以后git rebase –continue,
第二十集:快速解决冲突beyond compare软件。Git config –loacl merge.tool bc3 git config –local mergetoolpath ‘/user/local/bin/bcomp’ git config –local mergetool.keepBackup false应用beyond compare解决冲突git mergetool
第二十一集:添加远程连接(别名)git remote add orgin地址 推送代码git push origin dev 下载代码git clone 地址 拉取代码git pull origin dev等价于git fetch origin dev git merge origin/dev保持代码提交整洁(git rebase 分支) 记录图形展示git log –graph –pretty=format:”%h %s”
第二十三集:gitflow就是在各dev和发布版本release之前切换。创建仓库第一种方式github网站手动,邀请合作者。第二种方式,用github里组织的形式(创建组织需要掏钱)
Git tag –a v1 –m “第一版”git push origin –tags给上线版本打tag
第二十四集:多人协同开发之邀请成员。Git checkout –b dev(等于git branch dev创建dev分支 git checkout dev)
第二十五集:额。。这些操作都是大公司的流程。。个人开发者和小公司都不怎么用到,这里先了解个大概。
第二十六集:一些提交前review的操作配置。
第二十七集:git branch git checkout –b release git push origin release。
第二十八集:给开源项目贡献代码,django我喜欢,python我也挺懂的,这一节有点意思,以tornado为例,1、fork源代码,点右上角fork就行,点击完以后就把别人的源代码复制到自己的远程仓库里2、在自己的仓库进行修改 cd mygithub/->git clone https://github:com/cmfsz/tornado.git ->cd tornado/->修改代码->git add .->git commit –m ‘修改一个致命的bug’->git push origin master3、给源代码作者提交修复bug的申请(pull request)在自己的tornado仓库里点击new pull request,create pull request
第二十九集:配置文件存放三个位置。Git config –system user.name ‘wupeiqi’,第一个配置文件项目配置文件.git/config 对它配置git config –local只对当前项目生效。第二个配置文件全局配置文件 当前用户home文件/.gitconfig git config –global 对所有git项目生效第三个配置文件系统配置文件:/etc/.gitconfig git config –system(需要root权限)
第三十集:免密码登录,1、url中体现,原来的地址:https://github.com/wupeiqi/dbhot.git修改的地址:https://用户名:密码@github.com/wupeiqi/dbhot.git
Git remote add origin https://用户名:密码@github.com/wupeiqi/dbhot.git
Git push origin master
2、ssh实现 生成公钥和私钥 ssh-keygen默认存在~/.ssh(当前用户根目录home) id_rsa.pub公钥,id_rsa私钥->拷贝公钥的内容并设置到github中->在git 本地中配置ssh地址git remote add origin git@github.com:lz/dbhot.git->以后使用再也不用输入用户名和密码git push origin master
3、git自动管理凭证
第三十一集:gitignore忽略文件:这个文件要用git的touch命令来产生。可以在.gitignore里直接写文件名忽略掉文件,可以使用通配符如
.text,甚至可以使用.gitignore,文件夹写法files/忽略掉file文件夹下的所有文件,.h,!a.h除了a.h之外的所有.h文件都不管。.py[c|a|b]排除pyc,pyb,pya后缀文件,详情可以看gitignore的github仓库里的资料。
第三十二集:任务管理相关issues:在github里的issues里面可以提问题,文档以及任务管理 wiki建议每个项目的wiki里都写上对这个项目的介绍
第三十三集:nullundefine空。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

returnadsss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值