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. celery异步任务

    1.安装 pip install celery 2.创建celery_tasks文件夹,创建config配置文件和main文件 # 在config.py文件中配置中间人broker地址信息 - red ...

  2. TeX教程

    转自 [抢工作向]一个更适合玩物理的同学的论坛TeX教程 1. 基础知识 如何在你的帖子里插入一个\(\TeX\)环境来写公式呢?答案其实很简单,对于不同的要求,我们有两种方法. 第一种只需要在\(\ ...

  3. poj 2342 【Anniversary party】树形dp

    题目传送门//res tp poj 题意 给出一棵有权树,求一个节点集的权值和,满足集合内的任意两点不存在边 分析 每个点有选中与不选中两种状态,对于第\(i\)个点,记选中为\(sel_i\),不选 ...

  4. Thinking In Java 4th Chap2 一切都是对象

    对基本数据类型的初始化有二: 1.String s="asdf"; 2.String s=new String("asdf"); 可能的存储区域: 寄存器(不可 ...

  5. 计算机基础与python安装

    计算机基础 内容详细: 一.计算机基础 1. 计算机什么组成的 输入输出设备 cpu 硬盘 内存 中央处理器 处理各种数据 相当于人的大脑 内存 存储数据 硬盘 存储数据的 2. 什么是操作系统 控制 ...

  6. WPF入门(3)——命令

    命令是ICommand类型的属性,binding到控件上,用于代替事件,个人认为事件也很好,命令只是轻度解耦前后端. 闲话少说,上代码,示例是ScreenToGif的源代码中的一个命令: public ...

  7. Tomcat的架构

    Tomcat 7.0---Servlet API 3.0---JSP API 2.2---JDK 1.6 一个Tomcat实例,或者服务器(server),是Tomcat容器层次结构中的顶级组件. 只 ...

  8. 怎样快捷获取元素节点head

    1. 使用: document.head document.head.nodeName; // "HEAD" 2. 使用: document.getElementsByTagNam ...

  9. 第二讲,NT头文件格式,以及文件头格式

    今天详解NT 头格式,以及文件头格式,以及作用, 关于DOS头文件格式,以及DOSStub昨天的博客已经写过了.主要是分散讲解.便于理解. 一丶最小PE的生成,以及标准PE的生成 ps: (如果直接学 ...

  10. PHP如何通过URL访问,获得新的URL 两种方法

    1.1 $url = 'http://passport.drcloud.cn/api/logon.asp?id=1&ru=http://203.158.158.122/store/thirdL ...