github入门

目录

安装

    sudo apt install git

初始配置

1.设置姓名和邮箱地址

    git config --global user.name "姓名"  
    git config --global user.email "邮箱"  

会设置"~/.gitconfig"文件,可直接更改
--global参数代表全局

2.提高命令输出可读性

    git config --global color.ui auto

3.查看配置

    git config --list  

配置有系统配置,用户配置,项目配置,小覆盖大

4.配置默认推送

    git config --global push.default matching  # 将推送和远程同名的所有本地分支,旧的  
    git config --global push.default simple  # 只推送当前分支,新的

github账户

创建账户

注册地址:https://github.com/join
username创建ID,个人主页为:https://github.com/username

设置SSH Key

本机创建SSH,设置密码,以后认证时用
在~/.ssh文件夹中,id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。

    $ ssh-keygen -t rsa -C "创建账户时的email"
    Generating public/private rsa key pair.
    Enter file in which to save the key
    (/Users/your_user_directory/.ssh/id_rsa): 按回车键
    Enter passphrase (empty for no passphrase): 输入密码
    Enter same passphrase again: 再次输入密码

添加公开秘钥

登录账户;右上角setting;然后右边SSH and GPG keys,选择New SSH key;title中起个名字,将 id_rsa.pub 文件里的内容粘贴到keyzhong

创建仓库

点击右上角工具栏里的 New repository

  • Repository name:仓库名,仓库url:https://github.com/username/repository_name
  • Description:栏中可以设置仓库的说明。这一栏不是必需项,可以留空
  • Public、Private:Public,创建公开仓库,仓库内的所有内容都会被公开。选择 Private 可以创建非公开仓库,用户可以设置访问权限,但这项服务是收费的
  • Initialize this repository with a README:自动初始化仓库并设置 README 文件,生成可clone的仓库,想添加已有git库不选
  • Add .gitignore:初始化时自动生成 .gitignore 文件,把不需要在 Git 仓库中进行版本管理的文件记录在 .gitignore 文件中,下拉菜单中包含了主要的语言及框架
  • Add a license:可以选择要添加的许可协议文件
  • README.md:README.md文件的内容会自动显示在仓库的首页当中。

git操作

git基本操作

  • git help,git 子命令 help:查看帮助
  • git init:以当前目录为根目录,初始化仓库,生产.git目录,称为“附属于该仓库的工作树”
  • git status:查看仓库的状态
  • git add :向暂存区中添加文件,纳入git仓库管理对象
  • git commit:保存仓库的历史记录。通过这些记录,可以在工作树中复原文件。提交必须有提交信息
    • 记述一行提交信息:git commit -m "提交信息"
    • 记述详细提交信息:直接git commit,启动编辑器
      编辑器中记述提交信息的格式:
      第一行:用一行文字简述提交的更改内容
      第二行:空行
      第三行以后:记述更改的原因和详细内容
  • git commit -am "提交信息":直接提交
  • git log:查看提交日志
    • --pretty=short:只显示提交信息的第一行
    • 目录名,文件名:只显示指定目录、文件的日志
    • -p:查看提交所带来的改动
  • git diff:查看更改前后的差别,工作数与暂存区
    • git diff HEAD:工作数与最新提交

分支操作

  • 分支:
    • master:默认主分支
    • 特性分支:集中实现单一特性(主题),除此之外不进行任何作业的分支。
    • 主干分支:特性分支的原点,同时也是合并的终点
  • git branch:分支名列表显示,同时可以确认当前所在分支"*"
    • git branch 分支名:创建分支
    • -a :参数可以同时显示本地仓库和远程仓库的分支信息
  • git checkout 分支名:切换分支
    • git checkout -b 分支名:创建并切换分支
    • git checkout -:切换会上一个分支
  • git merge:合并分支
    • git checkout master:切换回主分支
    • git merge --no-ff 需要合并的分支名:会打开编辑器,默认已有信息,直接保存关闭即可
  • git log --graph:以图表形式查看分支

更改提交的操作

  • git reset:回溯历史版本
    • git reset --hard 目标时间点哈希值
  • git reflog:查看当前仓库的操作日志
  • 冲突:编辑冲突文件,然后add,commit
  • git commit --amend:打开编辑器,修改上一条提交信息
  • git rebase -i:压缩历史
    • git rebase -i HEAD~2:选定当前分支中包含HEAD(最新提交)在内的两个最新历史记录为对象,并在编辑器中打开,将需要被压缩的历史,左侧的 pick 部分删除,改写为 fixup
    • Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上n个版本写成HEAD~n,还有版本id表示版本

推送至远程仓库

  • git remote -v:查看远程仓库
  • git remote show origin:查看某个远程仓库
  • git remote add origin 远程仓库地址:添加远程仓库
  • git push:推送至远程仓库
    • git push -u origin master:推送至 master 分支(第一次以后可省略-u)
    • 推送至 master 以外的分支:切换分支,git push -u origin 分支名

从远程仓库获取

  • git clone 远程仓库地址:获取远程仓库,默认处于 master 分支下,同时系统会自动将 origin 设置成该远程仓库的标识符
  • 获取远程的分支:git checkout -b 本地分支名 origin/远程分支名:本地和远程分支名最好相同
  • git pull origin 分支名:获取最新的远程仓库分支

标签管理

  • 标签可用来做版本号,识别历史版本
  • git tag 标签名:创建标签(默认标签是打在最新提交的commit上)
  • git tag:查看标签
  • git tag 标签名 版本哈希值:给某个版本打标签
  • git show 标签名:查看标签信息
  • git tag -a 标签名 -m "标签信息":指定标签信息
  • git push origin <标签名:可以推送一个本地标签
  • git push origin --tags:可以推送全部未推送过的本地标签
  • git tag -d 标签名:可以删除一个本地标签;
  • git push origin :refs/tags/标签名:可以删除一个远程标签。

深入git

github功能

  • 快捷键:shift + /或?
  • #1,#1-13:标记文件的行
  • 仓库界面按t搜索文件
  • Issure:提交时(fix,close,resolve)#数字:关闭相应问题

猜你喜欢

转载自www.cnblogs.com/Wang-Y/p/9258273.html