Linux下Git和GitHub环境的搭建

1.创建Github帐号  (name@server.com)

2.安装git

[root@cloud ~]# yum install git -y

3.生成ssh key,复制公钥

[root@ray ansible]# ssh-keygen -t rsa -C 'name@server.com'

[root@ray .ssh]# cat ~/.ssh/id_rsa.pub

4.登陆github setting-->ssh and gpg keys-->new ssh key-->粘贴公钥

5.测试ssh key是否部署成功

[root@ray ansible]# ssh -T git@github.com

6.配置git

[root@cloud ~]# git config --global core.editor vim
[root@ray ansible]# git config --global user.eamil 'name@server.com' # 邮箱
[root@ray ansible]# git config --global user.name 'Raylively' # 用户名 # 查看配置
[root@cloud ~]# git config --list
[root@cloud ~]# cat ~/.gitconfig

工作区: 编写程序的目录

# 创建全新的工作目录
[root@cloud ~]# git init py3 # 使用已经存在的目录,在目录下执行如下命令
[root@cloud py3]# git init . # 查看版本库.git
[root@cloud py3]# ls -A   # 查看状态
[root@cloud py3]# git status # 添加文件到暂存区
[root@cloud py3]# git add files # 加入指定文件
[root@cloud py3]# git add . # 加入全部文件 # 删除暂存区文件
[root@cloud py3]# git rm --cached files # 提交
[root@cloud py3]# git commit
[root@cloud py3]# git commit -m 'second commit' # 查看提交历史
[root@cloud py3]# git log

暂存区:保存工作区文件到版本库之间的缓冲地带

版本库:保存每次提交的代码。(工作区中的.git目录就是版本库)

分支管理

# 创建一个本地分支: git branch <新分支名字>
[root@cloud py3]# git branch b1 # 将本地分支同步到GitHub上面: git push <本地仓库名> <新分支名> #切换到新建立的分支: git checkout <新分支名>
[root@cloud py3]# git checkout b1 # 合并分支到master
[root@cloud py3]# git checkout master
[root@cloud py3]# git merge b1 #为你的分支加入一个新的远程端: git remote add <远程端名字> <地址> #查看当前仓库有几个分支: git branch
[root@cloud py3]# git branch #从本地删除一个分支: git branch -d <分支名称>
[root@cloud py3]# git branch -d b1 #同步到GitHub上面删除这个分支: git push <本地仓库名> :<GitHub端分支>

切换到某一版本(如果需要修改,创建一个分支)

[root@cloud py3]# git log
[root@cloud py3]# git checkout <版本序列>

2 利用Git从本地上传到GitHub

  1. 进入要所要上传文件的目录, 输入命令 git init
  2. 创建一个本地仓库origin,使用命令 git remote add origin git@github.com:your_name/yourRepo.git,your_name是你的GitHub的用户名,yourRepo是你要上传到GitHub的仓库
  3. 比如你要添加一个文件xxx到本地仓库,使用命令 git add xxx,可以使用 git add . 自动判断添加哪些文件
  4. 然后把这个添加提交到本地的仓库,使用命令 git commit -m "说明这次的提交"
  5. 最后把本地仓库origin提交到远程的GitHub仓库,使用命令 git push origin master

3 从GitHub克隆项目到本地

  1. 到GitHub的某个仓库,然后复制右边的那个(HTTPS clone url)
  2. 回到要存放的目录下,使用命令 git clone https://github.com/your_name/yourRepo.git,your_name是你的GitHub的用户名,yourRepo是你要clone的仓库
  3. 如果本地的版本不是最新的,可以使用命令 git fetch origin,origin是本地仓库
  4. 把更新的内容合并到本地分支,可以使用命令 git merge origin/master
  5. 如果你不想手动去合并,那么你可以使用: git pull <本地仓库> master 这个命令来拉去最新版本并自动合并

4 GitHub的分支管理

创建分支

  1. 创建一个本地分支: git branch <新分支名字>
  2. 将本地分支同步到GitHub上面: git push <本地仓库名> <新分支名>
  3. 切换到新建立的分支: git checkout <新分支名>
  4. 为你的分支加入一个新的远程端: git remote add <远程端名字> <地址>
  5. 查看当前仓库有几个分支: git branch

删除分支

  1. 从本地删除一个分支: git branch -d <分支名称>
  2. 同步到GitHub上面删除这个分支: git push <本地仓库名> :<GitHub端分支>

5 常见错误

如果出现报错为ERROR: Repository not found.fatal: The remote end hung up unexpectedly则代表你的 origin 的url 链接有误,可能是创建错误,也可能是这个 git@github.com:xxx/new-project.git url 指定不正确。重新创建。

命令行下:
echo "# Blog" >> README.md

git init
git add README.md

git commit -m "first commit"

git remote add origin https://github.com/Raylively/Blog.git

git push -u origin master

修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题

最后面添加:

StrictHostKeyChecking no

UserKnownHostsFile /dev/null

# 克隆版本库
git clone git@github.com:Raylively/q_a.git

# 上传文件

git add filename

git commit -m "add filename"
git push origin master

首先进入你的master文件夹下, Git Bash Here ,打开命令窗口

$ git --help                                      # 帮助命令

$ git pull origin master                    # 将远程仓库里面的项目拉下来

$ dir                                                # 查看有哪些文件夹

$ git rm -r --cached target              # 删除target文件夹
$ git commit -m '删除了target'        # 提交,添加操作说明

fatal: 远程 origin 已经存在。

此时只需要将远程配置删除,重新添加即可;

git remote rm origin

git remote add origin https://github.com/***/WebCrawlers.git

linux 下使用github的更多相关文章

  1. Linux下的GitHub安装与简单配置教程 ~ 转载

    Linux下的GitHub安装与简单配置教程   1.GitHub简介 Git是一个分布式版本控制系统,与其相对的是CVS.SVN等集中式的版本控制系统. 2.Git的安装 1)安装Git a.查看与 ...

  2. Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理

    这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建.OK,话不多说,开始我们的收官之战. 不知你想过没有,如果我们的文章少,一眼看完整个目录, ...

  3. Linux下使用 github+hexo 搭建个人博客06-next主题接入数据统计

    之前说了 next 主题的优化和接入评论系统.让我们完成了自己所需的页面风格和排版,也可让访问用户在每篇博文评论,完成博主和访问用户的交互. 本章我们继续讲解其他重要功能. 既然是一个网站,那么我们就 ...

  4. Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统

    静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展我们站点的功能. 而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统. 参考网站:Next 使用文档,第 ...

  5. Linux下使用 github+hexo 搭建个人博客04-next主题优化

    上篇我们说了 hexo 的优化,针对的站点的优化. 本篇讲解 next 主题的优化,包括:使用语言.前端页面显示宽度.菜单.侧栏.头像.添加或取消动画效果.打赏功能等等. 让页面排版更符合我们所要的功 ...

  6. Linux下使用 github+hexo 搭建个人博客03-hexo配置优化

    上两张文章,我们说了 hexo 部署.主题的切换.博文的创建.MarkDown 简单使用和 hexo 部署到 GitHub Pages. 也说了我们会使用 next 主题做为我们后期博客的使用和维护. ...

  7. Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages

    之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...

  8. Linux下使用 github+hexo 搭建个人博客01-hexo搭建

    为什么要搭建自己的博客系统? 原因有好几个吧,归类如下:1.自己搭建博客系统很有成就感,可以自己选定页面风格和页面排版: 2.自己搭建博客系统可以根据自己的需要添加各种插件功能,因此整体上比网上的第三 ...

  9. linux下git+github个人使用记录

    Linux: 安装git的命令: sudo apt install git 查看版本确认安装成功: git --version 生成密钥: ssh-keygen -t rsa -C "you ...

随机推荐

  1. SQLite进阶-13.Autoincrement关键字

    目录 AUTOINCREMENT 是一个关键字,用于表中的字段值自动递增.我们可以在创建表时在特定的列名称上使用 AUTOINCREMENT 关键字实现该字段值的自动增加. 关键字 AUTOINCRE ...

  2. 【LOJ】#3097. 「SNOI2019」通信

    LOJ#3097. 「SNOI2019」通信 费用流,有点玄妙 显然按照最小路径覆盖那题的建图思路,把一个点拆成两种点,一种是从这个点出去,标成\(x_{i}\),一种是输入到这个点,使得两条路径合成 ...

  3. HttpServletRequest对象(转)

    HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供 ...

  4. 码云以及Git的使用

    码云以及Git的使用 码云就是一个远程管理的仓库,Git是用来上传和下载数据的工具. 首先访问网站 https://gitee.com/ 进行注册 注册完成后,进入如下页面 点击新建仓库 设置自己的仓 ...

  5. S02_CH01_Hello World实验

    S02_CH01_Hello World实验 ZYNQ是一款SOC芯片,在前面第一季的学习当中,我们只是粗略的学习了ZYNQ的PL部分,对于ZYNQ最突出的功能,其内部的双核Cortex-A9内核并未 ...

  6. PB各对象常用事件

    1.window中的事件 事件名                  触发的时机 01.Activate            在窗口激活之前触发 02.Clicked             当用户用 ...

  7. linux系统安全设置加固

        描述 设置SSH空闲超时退出时间,可降低未授权用户访问其他用户ssh会话的风险 检查提示 -- 加固建议 编辑/etc/ssh/sshd_config,将ClientAliveInterval ...

  8. React virtual DOM explained in simple English/简单语言解释React的虚拟DOM

    初学React,其中一个很重要的概念是虚拟DOM,看了一篇文章,顺带翻译一下. If you are using React or learning React, you must have hear ...

  9. ajax 请求二进制流 图片

    <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    ...

  10. linux 目录结构及VIM

    目录结构及VIM 文件系统 说明: 文件系统就是操作管理存储设备或分区上的文件的方法和数据结构,也就是存储设备上组织文件的方式. 操作系统中负责管理和存储文件信息的软件机构叫文件管理系统,简称为文件系 ...