• 从0开始配置git


    第一步:安装git

    1. 官网地址:https://git-for-windows.github.io/
    2. Homebrew安装git:  https://www.cnblogs.com/ycyzharry/p/10889420.html
    3. 安装完成后,在开始菜单中找到 'Git' -> 'Git Bash',会弹出个类似cmd的命令行窗口

    第二步: 设置用户名,邮箱

    git config  –global user.name 'XXXX'
    git config  –global user.email 'XXXX@qq.com'
    

    在命令行中输入以上内容,Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址
    注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

    第三步:创建SSH KEY

       可借鉴文档:https://blog.csdn.net/xyzchenxiaolin/article/details/51852333

    ls -al ~/.ssh
    ssh-keygen -t rsa –C 'XXXX@qq.com'
    
    1. ls -al ~/.ssh 命令检查是否本地用户主目录有名为.ssh的密钥保存文件夹和密钥文件。如果有则表示已经创建,则不需要创建SSH KEY
    2. ssh-keygen -t rsa –C 'XXXX@qq.com' 创建SSH Key,一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
    3. (window电脑 C:UsersAdministrator) (mac电脑 输入命令open ~/.ssh)里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人.
    4. 登陆GitHub或码云,打开“settings --> SSH Keys”页面:填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

    第四步 添加远程库(注意:如果已有仓库,跳过,直接到第六步)

    Github

    1.登陆GitHub,然后,在右上角**+**号里找到“new repository”按钮,创建一个新的仓库
    2.Repository name填入git_repo,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库

    码云

    1.登陆码云,然后,在右上角**+**号里找到“新建项目”按钮,创建一个新的仓库
    2.项目名填入git_repo,ReadMe去掉勾选(注:如果勾选,新增的项目就不是空项目,推送项目时将报错)其他保持默认设置,点击“创建”按钮,就成功地创建了一个新的Git仓库

    第五步:关联远程仓库(注意:如果已有仓库,跳过,直接到第六步)

    1.创建本地仓库,提交第一个文件
    cd e:git_repo  
    git init
    touch README.md  
    git add README.md
    git commit -m "注释:第一次提交"
    

    1.进入e盘的git_repo目录下
    2.通过 git init 将 git_repo 变成git仓库,创建完成后该目录下会多个.git的隐藏文件,如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。
    3.touch README.md创建README.md文件,该文件用于描述项目,使用语法markdown
    4.git add README.md 将README.md从工作区添加到暂存区
    5.git commit -m '' 提交README.md文件

    2.关联远程仓库
    git remote add origin https://git.oschina.net/XXXX/git_repo.git  
    

    origin是远程库的名称,这是git默认的叫法,改名称可自定义
    远程url 在GitHub或码云中对应项目下寻找,Git支持多种协议,默认的git://使用ssh,但也可以使用https等其他协议。

    第六步:克隆

    远程仓库文件克隆到本地仓库
     git clone  https://github.com/XXXX/repository.git  
    

    git clone 从远程仓库中克隆到本地仓库,至此项目已从远程仓库下载到了本地仓库,可将本地仓库的项目导入到自己的开发工具中进行操作了。

     

    注:常用git命令

    git init              初始化版本库
    git add .        将文件添加到仓库中
    git commit -m "描述"    将文件提交到仓库中
    git checkout dev       切换分支

    git checkout -b dev 创建一个分支,并切换到该分支

    git checkout -d dev 删除一个分支

    git branch   查看分支
    git push origin 子分支       上传到子分支

    注:git合并

    1.git pull:获取最新代码到本地,并自动合并到当前分支

    命令展示

    //查询当前远程的版本
    $ git remote -v
    //直接拉取并合并最新代码
    $ git pull origin master [示例1:拉取远端origin/master分支并合并到当前分支]
    $ git pull origin dev [示例2:拉取远端origin/dev分支并合并到当前分支]

    分析:直接合并,无法提前处理冲突。

    2.git fetch + merge: 获取最新代码到本地,然后手动合并分支

    额外建立本地分支

    代码展示

    //查看当前远程的版本
    $ git remote -v 
    //获取最新代码到本地临时分支(本地当前分支为[branch],获取的远端的分支为[origin/branch])
    $ git fetch origin master:master1  [示例1:在本地建立master1分支,并下载远端的origin/master分支到master1分支中]
    $ git fetch origin dev:dev1[示例1:在本地建立dev1分支,并下载远端的origin/dev分支到dev1分支中]
    //查看版本差异
    $ git diff master1 [示例1:查看本地master1分支与当前分支的版本差异]
    $ git diff dev1    [示例2:查看本地dev1分支与当前分支的版本差异]
    //合并最新分支到本地分支
    $ git merge master1    [示例1:合并本地分支master1到当前分支]
    $ git merge dev1   [示例2:合并本地分支dev1到当前分支]
    //删除本地临时分支
    $ git branch -D master1    [示例1:删除本地分支master1]
    $ git branch -D dev1 [示例1:删除本地分支dev1]

    分析:可以提前处理冲突,额外对临时分支进行处理。

    3.git fetch + merge: 获取最新代码到本地,然后手动合并分支

    不额外建立本地分支

    命令展示

    //查询当前远程的版本
    $ git remote -v
    //获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch])
    $ git fetch origin master  [示例1:获取远端的origin/master分支]
    $ git fetch origin dev [示例2:获取远端的origin/dev分支]
    //查看版本差异
    $ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异]
    $ git log -p dev..origin/dev   [示例2:查看本地dev与远端origin/dev的版本差异]
    //合并最新代码到本地分支
    $ git merge origin/master  [示例1:合并远端分支origin/master到当前分支]
    $ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支]

    分析:可以提前处理冲突,不需要对临时分支进行处理。

     

  • 相关阅读:
    tomcat9部署到nginx,不能通过nginx访问到tomcat
    解决Linux系统部署webapp,JavaMail 发送邮件javax.mail.MessagingException: 501 Syntax: HELO hostname问题
    先本地仓库中国添加jar包
    IDEA修改pom.xml文件不自动下载的问题
    JavaWeb路径的理解【加不加斜杠又何区别】
    IDEA好用的模板设置
    使用maven启动web项目报错
    MAVEN的学习(图片资源来自黑马程序员)
    option标签不支持单击事件
    immutable.js学习笔记(九)----- Range 与 Repeat
  • 原文地址:https://www.cnblogs.com/fanqiuzhuji/p/13953488.html
Copyright © 2020-2023  润新知