zoukankan      html  css  js  c++  java
  • Git的安装与使用详解

    git安装

    • 下载安装git:采用默认配置安装即可
    • 使用git --version确认是否安装成功,如下

    GitHub使用:

    配置sshkey,后续可以免密登录github
    1. cd /
    2. ssh-keygen -t rsa -C XXX@1XX.com
    3. 默认回车
    4. 生成密钥对如下:
    5. 把id_rsa.pub的内容加到github中,如下



    6. 在git命令界面中,创建config,并添加如下配置
      • 配置多个sshkey
        • cd ~/.ssh (用户目录下的.ssh文件夹)
        • vim config
        • 添加Host/HostName/User/IdentityFile四项
        • 多个github账号配置
    创建github仓库:



    • 创建成功后,显示相关信息
    克隆仓库到本地:
    1. 建立仓库目录

       mkdir workspace
      
    2. 在仓库目录(/workspace/myproject)下,克隆github仓库到本地

       git clone git@github.com:xx168/AutoTest.git
      
      • 此时,本地会通过密钥对连接github(会根据克隆里的域名找到config配置里的host校对,匹配连接)
    • 如上,就将github上的仓库AutoTest克隆到了本地
    推送文件到github上:
    1. 本地仓库上新建文件

       vi test.txt
      
    2. 查看所有文件状态

       git status
      
    3. 追踪指定文件

       git add test.txt
      
    4. 查看指定文件的推送状态(提交历史)

       git status
      

    1. 设置配置(没配置时,需执行一次,设置提交人的邮箱和用户名,相当于告诉github,本次是谁提交过来的代码,可任意设置)

       git config --global user.email "xxxxx@126.com"
       git config --global user.name "junxx"
      
    2. 提交已追踪(已添加)的文件,-m后面是本次提交的备注,此提交只提交到本地

       git commit -m "测试增加文件"
      
    3. 将提交的文件集推送到github上的仓库中

       git push
      

    1. 提交结果如下
    拉取github上的仓库文件到本地
    1. 拉取项目到本地

       git pull
      
      • 此时会将/workspace/myproject/AutoTest (master)上的代码更新到本地,保持本地代码和github上的代码一致,如下
    分支操作-如何创建分支(创建后,分支的初始内容和master的一样)
    1. 查看本地分支命令:git branch

    2. 查看所有分支(含本地分支和远端github分支):git branch –a

    3. 创建一个本地分支(develop):git checkout -b develop

    4. 查看远端github的分支数量

    5. 将本地分支的内容提交到远端分支上:

      1. 添加提交内容:git add test.txt

      2. 提交已添加的文件:git commit -m "提交到分支1上的内容"

      3. 首次推送本地分支的文件到远端分支(develop):

         git push --set-upstream origin develop
        
        • 后续的推送,都只要用git push即可
    分支操作-删除分支

    先切换分支,再删除(因本次工作分支是无法删除的)

    1. 切换到本地分支master:git checkout master
    2. 删除本地分支develop:git branch -d develop
      • 强制删除本地分支是:git branch -D develop
    3. 删除远端分支develop:
      1. 先在本地进行删除操作:git branch -r -d origin/develop
      2. 将本地操作推送到远端分支,即会删除远程分支:git push origin :develop
        • 注:本地删除操作时,远端分支还没删除,需要进一步推送,才删除,推送时,冒号前有一空格
    分支操作-合并分支
    1. 切换到master分支:git checkout master
    2. 将目标分支合并到当前分支(master)上: git merge develop
    分支操作-解决合并分支的冲突问题

    • 此时,打开合并后的文件,如vi test.txt ,手工编辑和处理冲突内容(删减等),然后再提交到主干,如下:

      git add test.txt
      git commit -m "解决合并冲突"
      cat test.txt
      git push

    git项目版本操作

    版本回退操作
    1. 添加所有有更改过的文件:git add .
    2. 先本地回退到上一个版本,然后再推送到远端的github
      1. 回退到上一版本:git reset --hard HEAD^
      2. 会退到上两个版本:git reset --hard HEAD^^
      3. 一个^,代表回退一个版本,如下
      4. 回退到前第五十个版本:git reset --hard HEAD~50
    3. 查看版本id号:git reflog
    4. 如,回到v2版本:git reset --hard 0bf76fd
    5. 回到指定版本时,可往前回退,也可往后回退。

    附录(git常用操作)

    1. 拉取git上的项目到本地

       git clone git@git.mailtech.cn:icm/autotest.git
      
    2. 切换到拉取下来的项目

       cd autotest/
      
    3. 添加该目录下,需要提交的文件夹

       git add icmAutoTest/
      
    4. 查看需待提交的项目状态

       git status
      
    5. 提交已添加的项目到本地git

       git commit -m "xx中心自动化脚本完整提交"
      
    6. 查看需待提交的项目状态

       git status
      
    7. 将提交到本地git上的资源,推送到远程目标git仓库上

       git push
      
    拉取代码更新到本地
    git pull
    
    • 此时会将/workspace/myproject/AutoTest (master)上的代码更新到本地,保持本地代码和github上的代码一致
  • 相关阅读:
    [概率论]2017.5.9
    [概率论] 2017 5.2
    [离散数学II]2017.5.2
    [离散数学II]2017.4.25
    [概率论]2017.4.19
    [概率论] 2017.4.18
    [离散数学II]2017.4.18
    [离散数学II]2017.4.11
    [概率论]2017.4.12
    [概率论]2017.4.5
  • 原文地址:https://www.cnblogs.com/jun-zi/p/12134092.html
Copyright © 2011-2022 走看看