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的笔记

posted @ 2020-02-05 17:25  Noob52037  阅读(186)  评论(0编辑  收藏  举报