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 clone --depth=1 :只获取最近的版本
  • 获取远程的分支: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)#数字:关闭相应问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WY_记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值