• git学习笔记


    1:git初始化配置

    • 1.1初始化
    git init  #让git管理当前目录
    
    • 个人信息配置
    2:个人信息配置
    git config --list
    git config --global user.email "xxxx@qq.com"
    git config --global user.name "fakerxx"
    

    2:基本操作

    git add . #添加到暂存区,被git追踪管理
    git commit -a -m "注释"
    

    3:回滚到过去特定版本

    git reset --hard c35231b
    

    4:回到未来

    git reflog
    git reset --hard 版本号
    
    git checkout -- xxx.html
    

    5:分支

    • 查看分支

      git branch
      
    • 创建分支

      git branch  分支名称
      
    • 切换分支

      git checkout 分支名称
      
    • 创建并切换到分支

    git checkout -b dev
    
    • 合并分支

      git merge 合并的分支
      注意切换分支再合并
      
    • 删除分支

      git branch -d 要删除的分支
      

    6:远程仓库管理

    • 6.1:给远程仓库起别名
    手动在github上创建一个仓库
    git remote add origin  远程仓库地址(ssh)
    推荐使用sshd地址
    
    • 6.2向远程仓库推送代码
    git push -u origin master
    #origin 远程仓库地址的别名
    #master  本地分支名
    #-u:默认推送的仓库名和分支,以后即可直接用git push 代替git push origin master
    #注意推送分支的时候,使用git push origin dev
    
    
    • 6.3克隆远程仓库代码
    git clone 远程仓库地址(ssh地址) 
    #内部已经实现git remote add origin  远程仓库地址(ssh)
    
    git checkout 分支
    
    

    shh免密操作

    ssh-keygen -t rsa -C "xxxxx@qq.com"   
    #:-C注释
    cd ~/.ssh
    id_rsa.pub拷贝到github上的SSH keys
    

    实例流程:

    1:在家里上传代码:

    • 1:给远程仓库起别名
      git push -u origin master
      
      2:向远程仓库推送代码
      git push -u origin 分支
      
      

    2:到公司新电脑上第一次获取代码

    • 1:克隆远程仓库代码
      git clone 远程仓库地址(ssh地址) 
      
      2:切换分支
      git checkout 分支
      

    3:在公司进行开发

    • 1:切换到dev分支进行开发
      git checkout dev
      
      2:把master分支合并到dev
      git merge  master (仅执行一次)
      
      3:继续开发
      
      4:提交代码
      git add .
      git commit -m "注释"
      git  push origin dev
      

    4:回到家中继续写代码

    • 1:切换到dev分支
      git checkout dev
      
      2:拉代码
      git pull origin dev
      
      3:继续开发
      
      4:4:提交代码
      git add .
      git commit -m "注释"
      git  push origin dev
      
      

    5:在公司继续开发

    • 1:切换到dev分支
      git checkout dev
      
      2:拉代码
      git pull origin dev
      
      3:继续开发
      
      4:4:提交代码
      git add .
      git commit -m "注释"
      git  push origin dev
      

    6:开发完毕要上线

    • 公司
      1:将dev分支合并到master分支
      git  checkout master
      git merge dev
      git push  origin master
      
      2:把dev分支也推送到远程
      git checkout dev
      git merge master  #保证dev和master代码都是最新的
      git push  origin dev
      
      在家:
      git  pull  origin dev
      git   pull origin  master
      

    7:rebase操作----使提交记录变简洁

    • git rebase -i HEAD~3
      #合并最近的3次提交,注意push上远程的提交不要混在一起
      #修改---s
      
    • git log --graph --pretty=format:"%h %s"   
      #图形化显示提交记录%h代表hash,%s 代表记录的注释
      

    8:标签:

    git tag -a v1 -m "第一版"  #把当前提交的版本打一个版本标签
    
    git push -u origin --tags   #推送标签
    
    git checkout -b dev   #创建dev分支并且切换到dev分支
    

    9:给开源项目贡献代码

    • 1:fork源代码
      将别人的源代码拷贝到自己的仓库
      
      2:在自己的仓库进行修改
      git  clone xxx.com
      
      3:修改代码并且提交到自己仓库
      git add .
      git commit -m "修复了一个bug"
      git push origin  master
      
      4:给源代码作者提交修复代码的pull request申请
      

    10:git三个配置

    • 1:当前项目配置文件 cat 项目路径/.git/config
    git config --local user.email="xxx.com"
    git config --local user.name="xx"
    
    • 2:全局配置文件 cat ~/.gitconfig
    git config --global user.email="xxx.com"
    git config --global user.name="xx"
    
    • 3:系统配置文件 /etc/.gitconfig --需要root权限
    git config --system user.email="xxx.com"
    git config --system user.name="xx"
    

    11.免密码登录

    • URL体现
    原来的http地址:https://github.com/faker55/learngit.git
    修改成免密登录: https://用户名:密码@github.com/faker55/learngit.git
    
    比如:git remote add origin https://用户名:密码@github.com/faker55/learngit.git
         git push origin master
    
    • SSH实现
    1:生成公钥(~/.ssh/id_rsa.pub)和私钥(~/.ssh/id_rsa)
    ssh-keygen -t rsa -C "rhel7"
    
    2:拷贝公钥的内容到github上的setting/SSh and GPG keys/SSH kyes中。
    
    3:在git本地中配置ssh地址
    git remote add  origin ssh地址
    
    • git自动管理凭证
    根据操作系统类型,存放方式不一样
    

    12:git不再管理需要忽略的文件

    • .gitignore文件中写需要的忽略文件
      #一般忽略数据库的相关文件
      files/  #会忽略文件夹下的文件
      *.h  #以.h结尾的都忽略
      !a.h #除了a.h文件除外
      
    • github/gitignore  
      #github上的项目,以某种语言开发的项目的推荐忽略文件
      

    13:git任务管理相关

    • 1:issues:文档以及任务管理,issue提交
      2:wiki:项目简介
      

    PS:向wuqeiqi老师学习git的笔记

  • 相关阅读:
    debian 登录CUPS 管理界面报错
    Shell脚本调试技术
    贴个ALSA例程
    产业生态圈和生态圈
    开个帖,开始学习shell编程
    Lua源码阅读建议
    Flash, EEPROM, SPI Flash diff
    makefile中的notdir,wildcard和patsubst
    quartus II使用零星记录
    Hello ZED
  • 原文地址:https://www.cnblogs.com/zhoujun007/p/12264597.html
Copyright © 2020-2023  润新知