【git笔记】基础

版本控制系统分类

  • 集中式(svn)
    集中式只有代码服务器保存代码的历史信息,客户机不保存历史信息,所以提交必须依赖网络
  • 分布式(git)
    分布式是不仅代码服务器有代码的历史记录,每个客户端也都保存完整的历史信息,相比集中式版本控制可以避免单点故障。可以在本地提交,不需要依赖网络

签名:<必须配置>

用于区分不同开发人员的身份,必须设置签名,签名与远程仓托管中心的用户名无关,系统级别的用户名和邮箱存储在~/.gitconfig文件中;项目级别的签名存放在.git/config文件中;
命令:
git config -l -- 查看git配置
git config --global user.name fan -- 设置用户名,用户级别(如果不加--global,代表配置是项目级别)
git config --global user.email 410577910@qq.com -- 设置密码,用户级别
选项:
--local --项目级别
--global --用户级别
--system --系统级别

.gitignore

*.sh --排除所有.sh结尾的文件
!a.sh --a.sh除外
files/ --排除files目录下的所有文件
*.py[a|b|c] --排除.pya、.pyb、.pyc结尾的文件

免密登录的三种方式

ssh登录,生成密钥对

鼠标右键->gitbash 打开控制台
控制台中输入ssh-keygen -t rsa 生成密钥对,密钥对文件生成到c:\users\administrator.ssh文件夹下

给开源项目贡献代码

1、fork代码
2、在自己fork的项目中修改代码
3、给开源项目的作者提交申请(pull request)

本地仓库与远程仓关联

先有远程仓:直接克隆到本机,自动关联

git clone git@github.com:xxxx/xxxx.git

先有本地仓:将已有的本地仓库与GitHub仓关联

git remote add origin git@github.com:xxxx/xxxx.git
git push -u origin master -- 将当前分支推送到远程,第一次推送加-u,git会把本地master分支与远程master分支关联起来,以后推送拉取可以简化命令

先有本地仓,方式2:

git remote add origin git@github.com:xxxx/xxxx.git
git fetch --将版本库拉到本地
git checkout -b master origin/master --本地仓的master与远程master关联,关联后推送、拉取可简化

先有本地仓,且本地仓有文件

git remote add web2 https://gitee.com/fanwenjian/web2.git
git pull web2 master(如果远程仓有文件,此时会有两个tree,需要merge)
git merge --allow-unrelated-histories web2/master(merge后新commit继承自两个tree)

工作区、暂存区、本地仓

  • 工作区
    就是你在电脑里能看到的目录
  • 版本库(Repository)
    工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
    Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
    暂存区:

工作流

  • 集中式工作流
    如果你的开发团队成员已经很熟悉 Subversion,集中式工作流让你无需去适应一个全新流程就可以体验 Git 带来的收益。这个工作流也可以作为向更 Git 风格工作流迁移的友好过渡。
  • 功能分支工作流
    功能分支工作流以集中式工作流为基础,不同的是为各个新功能分配一个专门的分支来开发。
  • GitFlow工作流
    GitFlow 工作流通过为功能开发、发布准备和维护分配独立的分支,让发布迭代过程更流畅。严格的分支模型也为大型项目提供了一些非常必要的结构。
  • Forking工作流
    Forking 工作流是分布式工作流,充分利用了 Git 在分支和克隆上的优势。可以安全可靠地管理大团队的开发者(developer),并能接受不信任贡献者(contributor)的提交。
  • Pull Requests
    Pull requests 让开发者更方便地进行协作的功能,提供了友好的 Web 界面可以在提议的修改合并到正式项目之前对修改进行讨论。
posted @ 2020-04-14 11:27  .Neterr  阅读(206)  评论(0编辑  收藏  举报