git

Git是一种先进的分布式版本控制系统,与SVN不同,它没有中央服务器,每个开发者的电脑都是完整版本库。GitHub是免费的远程仓库,适合开源项目托管。本文介绍了Git的基本操作,如add、commit、push、pull,以及如何配置用户名和邮箱,生成SSH密钥,关联GitHub仓库。此外,还讲解了GitHub的团队协作,包括添加协作者、分支管理和合并。
摘要由CSDN通过智能技术生成

git

Git是什么?

  • Git是目前世界上最先进的分布式版本控制系统。

SVN与Git的最主要的区别?

  • SVN为集中式版本控制系统,版本库是集中存放在中央服务器的
    单独搭建SVN服务器,不能离线工作
    操作简单,代码保密性较强
    1.png

  • GIT为分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库
    1 适合分布式开发,强调个体
    2 公共服务器压力和数据量都不会太大
    3 速度快灵活
    4 可以离线工作
    5 操作复杂,代码保密性差

2.png

github的使用

GitHub,免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的。GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。
SVN的存储需要依赖一个服务器,而git所有的东西是放在线上的。节约成本,省时省力。

下载安装git

https://www.git-scm.com/download/ (建议默认安装,不要改动安装路径)

git配置

命令:

       1. git add:将本地工作空间中的文件,添加到本地git暂存区
       2. git commit:将暂存区中的文件提交到本地版本库(分支,默认分支为主分支master分支)
       3. git push:将本地版本库的文件推送到远程仓库(远程分支)
       4. git pull:将远程仓库的内容 拉取到本地仓库。
             **配置用户名和邮箱**
                     桌面右击选择Git Bash Here 打开git命令行工具
                     1. 用户名配置命令:
      ```
          git config --global user.name "user" 
      ```
    2. 邮箱配置命令 
     ```
      git config --global user.email "111111@qq.com"
     ```

​ 运行以上两个命令后会在C盘-用户-xxxx(系统账户文件夹)这个目录下生成.gitconfig文件,用编辑工具可以打开该文件查看配置好的用户和邮箱
如:

   [user]
        email = 111111@qq.com
        name = user

github 远程仓库搭建 (统一的项目官方托管网站)

  • github注册及登录
  • 配置免密钥登录
    配置免密钥登录本地是为了将本地仓库与远程github仓库关联
    1. 本地仓库需要配置生成ssh key密钥
    配置命令:
    ssh-keygen -t rsa -C 111111@qq.com
    ​ 一直回车后生成如下内容,密钥生成成功
+---[RSA 2048]----+
| ....o.. ooo..   |
| o.. .. . o...   |
|  + o . ..= + .  |
|   o o = + B o   |
|  . . o S E o    |
|   o o * . *     |
|    + + +   .    |
|   . = ..o o     |
|    + ....o..    |
+----[SHA256]-----+

密钥生成后会在C盘的系统用户目录下生成.ssh密钥文件夹,文件夹中有两个密钥文件,一个是私密密钥,一个是public类型密钥,两个文件的功能就是为了让本地与远程通信,私密为本地使用,pub为远程github使用,两者匹配后,本地仓库与远程仓库就产生了关联
2.登录github远程仓库–选择settings选项–选择SSH and GPG keys–选择new SSH key–Title输入密钥标题(任意取名)–Key中添加public类型密钥文件中的内容(注:内容复件粘贴就好,不要有额外的回车或空格,避免出错)–点击Add SSH key
3.测试是否关联上了github
测试命令:

ssh -T git@github.com

回车,输入yes再回车,测试成功关联后.ssh密钥文件夹会自动生成一个known_hosts文件,
注:因网络问题有可能会失败,多测试几次就好

  • 本地仓库项目与github仓库项目关联
    本地仓库与github仓库联后,我们就可以开始对项目版本开始管理了,在本地的项目目录下打开Git Bash命令行工具,执行如下命令
git remote add origin github上新创建的项目https标识(路径)

项目版本管理

  • 第一次发布项目版本(从本地仓库分支到远程github仓库分支)
  1. git add .
  2. git commit -m"提交日志说明"
  3. git push -u origin master
  • 第一次下载项目版本(从远程github仓库分支到本地仓库分支)
    git clone github上新创建的项目https标识(路径)

  • 后续提交版本(从本地仓库分支到远程github仓库分支)

    git push origin master (与第一次发布的操作相比只是少了一个-u)

  • 后续更新 版本 (从远程github仓库分支到本地仓库分支)
    git pull

常用命令

1.初始化项目仓库:

git init //通过命令 git init 把这个目录变成git可以管理的仓库

2.查看某些文件或文件夹是否被git管理

$ git status
On branch master  //表示在master主分支上查看文件状态

No commits yet//尚未提交,如果有被管理,但并未来commit的文件会在以下区域显示

Untracked files://尚未跟踪的文件,被修改过或新增加的文件会在以下区域显示 
  (use "git add <file>..." to include in what will be committed)//提示可以使用git add添加到缓存

        readme.txt//新添加或修改过的文件

nothing added to commit but untracked files present (use "git add" to track)//没有添加到提交,但存在未跟踪的文件(使用“git add”跟踪)

3.将某个改动过的或新添加的文件文件添加到本地的git上 被git管理 : 使用命令 git add xxx.txt添加到暂存区里面去

git add 文件名

4.批量添加某些文件被git管理

 git add .  或  git add --all

5.如果有些文件并不需要被git管理,我们就需要忽略掉这些文件不被管理
创建一个 .gitignore 文件
创建命令:touch .gitignore
.gitignore 文件 的作用:将要忽略的文件全称写入到该文件中,文件中的写入内容如下示例 :

.gitignore  //.gitignore必须忽略
notice.txt
src/description.txt

写入完成后就可以执行git add . 命令了。凡是被写入的文件都会被忽略。

6.提交被管理的文件到git服务器上 : 用命令 git commit告诉Git,把文件提交到仓库

git commit -m"日志";//日志为必写内容,如:实现了XX功能

7.如果是第一次使用git的commit,会提示需要设置用户的默认标识,

  • 因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。执行以下命令即可,用户名和邮箱可随意填写,没有严格规定,如果在搭建git环境时就配制好了就忽略这一操作
git config --global user.name "xxxx"
git config --global user.email "xxxx@163.com"

8.git stauts时查看工作区状态显示如下

$ git status
On branch master  // 在主分支上
nothing to commit, working tree clean //工作区没有需要提交的,工作树很清洁

9.修改文件,文件被修改后,先add添加缓存被管理再commit提交
10.从缓存区撤销被管理的文件

git reset 文件名

11.撤销工作区文件内容的更改 :即原来在文件中更改好的内容会删除

git checkout -- 文件名

12.查看git版本日志信息:

git log

13.回退某个版本

git reset --hard 695ebb(前六位哈希值)

分支操作 主分支:master

1.查看分支

git branch

2.创建分支

git branch 分支名

3.切换分支:

git checkout 分支名

4.创建并切换到某个分支:

git checkout -b 分支名

5.创建并切换到某个分支:
在master上合并分支:(如果不在主分支上,需要切换到主分支上再作此操作)

git merge 分支名

6.删除master下的分支:

git branch -d 分支名

git团队协作

github上 当前项目下 选择settings选项=>选择Collaboators(增加成员)
Add collaborator中输入成员github用户名,点击增加
选择Copy invite link邀请链接项 将链接路径发送给成员
git merge 分支名

6.删除master下的分支:

git branch -d 分支名


## git团队协作
   github上 当前项目下 选择settings选项=>选择Collaboators(增加成员)
  Add collaborator中输入成员github用户名,点击增加
  选择Copy invite link邀请链接项 将链接路径发送给成员
成员登录github账户,使用邀请链接访问邀请页面,点击Accept invitation接受邀请
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值