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,如需转载请自行联系原作者



相关文章
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
641 13
|
3月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
484 21
|
3月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
3月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
229 13
|
1月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
3月前
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。
|
3月前
|
Linux
Linux命令拓展:为cp和mv添加进度显示
好了,就这样,让你的Linux复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。
259 8
|
2月前
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
93 0
|
3月前
|
安全 Linux 定位技术
Linux环境下必备的基础命令概览
以上就是Linux系统中的基本命令和工具,掌握它们就能帮你在Linux世界里游刃有余。这其实就像是学习驾驭一辆新车,熟悉了仪表盘,调整好了座椅,之后的旅程就只需要享受风驰电掣的乐趣了。
94 4
|
Linux 索引
linux命令—ls
`ls` 是 Linux 系统中用于列出目录内容的基础命令,功能强大且使用频率极高。它可以帮助用户查看文件、分析磁盘空间及检查权限等。常用选项如 `-l` 显示详细信息,`-a` 包含隐藏文件,`-h` 以易读格式展示大小,`-t` 按修改时间排序等。通过组合选项,可实现复杂需求,如递归遍历目录(`-R`)、显示 inode 号(`-i`)或结合正则过滤特定文件。注意权限限制、特殊字符处理及大规模目录操作可能带来的性能问题。掌握 `ls` 是高效使用 Linux 的关键一步。