Linux下使用git命令及github项目

简介:

Linux下使用git命令及github项目

说明:于2017年8月26日测试ok(金工)

  

在linux下搭建git环境

1、注册Github账号,网站:https://github.com

2、Linux创建SSH密钥:

方法一:ssh-keygen  ##一直默认就可以了 


方法二:ssh-keygen -t rsa -C "12700696@qq.com" //生成密钥,邮箱同上

cat  ~/.ssh/id_rsa.pub //提交密钥,复制里面的密钥


方法三:非交互式生成密钥:ssh-keygen  -t rsa -N '' -f  ~/.ssh/id_rsa -C "12700696@qq.com"    


3、将公钥加入到Github账户信息Account Settings->SSH Key

方法:登录到github网页中登陆自己的账号,然后再account setting中,找到SSH KEY讲复制的密钥加入(需要再次输入github的密码)


4、测试验证是否成功。

ssh -T git@github.com     提示successfully说明成功

Hi someone! You've successfully authenticated, but GitHub does not provide shell access.  


同步github到本地

1、复制项目到本地:

git clone git@github.com:rshare/docker-installer.git   ##以SSH方式克隆到本地,可以读写  

git clone https://github.com/rshare/docker-installer.git ##以https方式克隆到本地,可以读写  


git同步的其他命令:

git clone git://github.com:xxxx/test.git ##以gitreadonly方式克隆到本地,只可以读  

git clone git@github.com:xxx/test.git  ##以SSH方式克隆到本地,可以读写  

git clone https://github.com/xxx/test.git ##以https方式克隆到本地,可以读写  

git fetch git@github.com:xxx/xxx.git  ##获取到本地但不合并  

git pull git@github.com:xxx/xxx.git ##获取并合并内容到本地  


本地提交项目到github

1、本地配置

git config --global user.name 'onovps'   #设置用户名标识

git config --global user.email 'onovps@onovps.com' #全局联系方式,可选  

git config --list    #查看git环境设置


2、新建Git项目并提交到Github。

mkdir testdir && cd testdir  

touch README.md  

git init #初始化一个本地库  

git add README.md #添加文件到本地仓库  

git rm README.md #本地倒库内删除  

git commit -m "first commit" #提交到本地库并备注,此时变更仍在本地。  

git commit -a  ##自动更新变化的文件,a可以理解为auto  

git remote add xx git@github.com:rshare/docker.git  #增加一个远程服务器的别名。  

git remote rm xx   ##删除远程版本库的别名  

git push -u remotename master #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上。  


分支版本操作

1、创建和合并分支

git branch #显示当前分支是master  

git branch new-feature  #创建分支  

git checkout new-feature  #切换到新分支  

vi  index.php  

git add  index.php  

git commit -a -m "added initial version of page cache"  

git push origin new-feature  ##把分支提交到远程服务器,只是把分支结构和内容提交到远程,并没有发生和主干的合并行为。  


2、如果new-feature分支成熟了,觉得有必要合并进master

git checkout master  #切换到新主干  

git merge new-feature  ##把分支合并到主干  

git branch #显示当前分支是master  

git push  #此时主干中也合并了new-feature的代码  


--------------------------------------------

实例:rshare个人github同步数据实战。

第1步,登录github:

1、注册Github账号,网站:https://github.com   我的账号:rshare  密码:pass000

2、Linux创建SSH密钥:

方法一:非交互式生成密钥:ssh-keygen  -t rsa -N '' -f  ~/.ssh/id_rsa -C "12700696@qq.com"    

cat  ~/.ssh/id_rsa.pub //提交密钥,复制里面的密钥(第3步要粘贴)

说明:ssh-keygen是ssh密钥生成器,-t指定算法为rsa,-N指定密码为空,-f指定私钥位置,-C指定注释信息(不指定则为主机名)。

3、将公钥加入到Github账户信息Account Settings->SSH Key

方法:登录到github网页中登陆自己的账号,然后再account setting中,找到SSH KEY讲复制的密钥加入(需要再次输入github的密码)


4、测试验证是否成功。

ssh -T git@github.com     提示successfully说明成功

Hi someone! You've successfully authenticated, but GitHub does not provide shell access.  


##同步github到本地

1、复制项目到本地:

mkdir  /test

cd  /test

git clone git@github.com:rshare/mydocker.git   ##以SSH方式克隆到本地,可以读写  

git clone https://github.com/rshare/docker-installer.git ##以https方式克隆到本地,可以读写  

ls  查看文件列表


2、创建新文件,并上传到github中。

cd  /test/mydocker

ls -a

git  remote

cp  -v  /etc/{hosts,group,passwd}  ./

git  add  hosts  group  passwd

git  status

git  commit  -m  '3files'

git  push  -u  origin  master

验证:在github个人网站的mydocker仓库中查看是否多了三个文件(hosts,group,passwd)。


git其他命令:

git branch   #查看分支(即目录结构) 



3、删除远程仓库中的文件。

cd  /test/mydocker

ls  -a

git rm --cached  hosts  group  passwd    #删除缓存数据,并不删除本地文件

git  status

git commit -m "hehe" 

git push origin 

验证:在github个人网站的mydocker仓库中查看是否少了三个文件(hosts,group,passwd)。

wKioL1mhLzLyag8jAABtT2HzZkY894.png


====网络Docker  hub的使用=============

flyer520docker镜像下载和上传实例:

1,注册docker-hub账号。在https://hub.docker.com/网站注册。

注:我的账号是flyer520,邮箱12700696@qq.com

 

2步,linux登录docker测试。

我的账号:docker login --username=flyer520  --email=12700696@qq.com  (登录OK)

查看登录信息:cat  ~/.docker/config.json

 

3步,下载docker镜像。

docker  pull busybox

docker  pull nginx

docker  images

 

4步,修改标签(重设标签)

测试1:修改nginx标签,并push上传到flyer520docker-hub中。

docker  tag  nginx  flyer520/nginx

docker  push flyer520/nginx

 

测试2:修改busybox标签,并push上传到flyer520docker-hub中。

docker  tag   busybox  flyer520/busybox

docker  push flyer520/busybox

 

验证:登录到docker-hub,查看是否多了nginx镜像。

 wKioL1mhLtbTn3VpAACk9xJHD2Q721.png


##搭建内部git仓库服务器

wKiom1mlX9OSC-8TAAJG87GPEtE090.png


待续....


到此,本实验操作完毕。







      本文转自rshare 51CTO博客,原文链接:http://blog.51cto.com/1364952/1959524,如需转载请自行联系原作者



相关文章
|
3月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
476 1
二、Linux文本处理与文件操作核心命令
|
3月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
328 137
|
3月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
763 57
|
2月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
552 2
|
3月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
345 0
Linux内存问题排查命令详解
|
3月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
516 15
|
3月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
324 16
|
4月前
|
Shell 网络安全 开发工具
项目快速导入git
本文介绍了如何在本地初始化 Git 仓库并将代码提交到远程仓库(如 GitHub 或 Gitee)的基本流程。内容包括安装 Git、创建仓库、添加文件、提交更改以及推送代码到远程仓库的详细步骤,适合初学者快速掌握 Git 的基本使用方法。
237 1
|
4月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
563 0
|
4月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
1583 0