设为首页 收藏本站
查看: 747|回复: 0

[经验分享] git与github安装、配置、pull、push

[复制链接]

尚未签到

发表于 2018-1-16 10:33:54 | 显示全部楼层 |阅读模式
  操作系统是Ubuntu 16.04 LTS 64bit

1 安装git
  (1)安装
  

sudo apt-get install git-core  

  (2)一些全局变量的初始化
  在本地建立一个文件夹,然后做一些全局变量的初始化
  

git config --global user.name 用户名或者用户ID  

  
git config --global user.email 你邮箱
  

  这两个选项会在以后你提交代码至本地仓库时自动填写到你的提交记录中去。

2 使用git版本管理器本地管理你的项目
  (1)进入你项目的目录,进行git初始化,创建.git文件夹
  

git init  

  执行后,你发现你的项目中多了一个.git隐藏文件夹。这样,你的本地仓库就已经建立好了。
  (2)管理哪此文件将被提交至中

  如上,git status命令显示了哪些文件将被提交至git中(绿色),哪此文件将会被untracked(红色)。我们可以能过git add和git rm来管理这些文件。
  (3)提交你的代码至git版本管理器
  

git commit -m 'first commit'  

  使用git show命令可以查看到你的提交记录:


3 配置github SSH
  SSH是什么?SSH是Secure Shell,是一种认证方式,github可以采用两种认证方式:SSH和https。两种的区别是SSH需要进行SSH key配置,但是每次Pull的时候是不需要输入用户名密码的,而https每次都要输入用户名密码的。
  (1)检测是否能连接到github
  

ssh -T git@github.com  

  如果看到:
  Warning: Permanently added ‘github.com,204.232.175.90’ (RSA) to the list of known hosts.
  Permission denied (publickey).
  则说明可以连接。
  (2)创建本地SSH Key
  

ssh-keygen -t rsa -C "your_email"  

  ~/.ssh目录下生成id_rsa(私钥)和id_rsa.pub(公钥)文件。
  (3)将此密钥(public key)上传至github
  同志。一定要有自己的github账户呀。没有的话就去官网注册一个。在网页版github中,依次点击Account settings(右上角倒数第二个图标) -> SSH Keys -> Add SSH Key,将id_rsa.pub文件中的字符串复制进去,注意字符串中没有换行和空格。
  (4)测试密钥是否成功
  与第一步相同:
  

ssh -T git@github.com  

  如果看到:Hi xxx! You’ve successfully authenticated, but GitHub does not provide shell access,则密钥上传成功。

4  push本地git仓库至github仓库
  (1)首先,我们要在github中建造一个public仓库。去网页版傻瓜式操作。
  (2)本地git中设置远程github的仓库的url。如上节所讲,有两种方式:
  1)Https方式  
  

git remote add origin https://github.com/AndyQiao/makefile_test.git  

  2)SSH方式
  

git remote add origin git@github.com:AndyQiao/makefile_test.git  

  注意,这里的origin是远程仓库的一个别名,是任意的。我们之后向远程仓库里同步时,就使用这个别名。推荐origin作为所有项目的远程仓库的别名,这样就不会忘记了。不过。我们也可以使用git remote -v来查看:

  (3)push本地git至github远程仓库
  

git push origin master  

  注意:(1)master指的是分支(branch)名字。一个仓库中默认的分支名字就是master,以后,你可以有别的branch;(2)如果上一步使用的是SSH方式,那么命令就直接执行,如果使用Https方式,则每次push都需要输入密码

5 pull、fetch与clone
  pull与push相反,是将代码从远程仓库同步至本地仓库并merge的命令
  

git pull origin master  

  而fetch是单纯将代码从远程仓库同步至本地仓库,并不作merge。
  

git fetch  git diff origin/master
  git merge origin
  

  三个步骤分别代表:取远程仓库至本地,保存版本号至.git/FETCH_HEAD;比较远程origin/master分支与本地差别;将远程origin/master merge至本地仓库。与直接pull相比,fetch后可以直观看到远程仓库的不同,再决定是否要merge,更加安全。
  clone不是同步,而类似于下载。我们不仅可以clone自己的仓库,还可以clone别人的仓库,只需要知道相应的URL即可  
  

git clone git@github.com:AndyQiao/makefile_test.git code1  

  注:code1是目标文件夹。
  git还是很牛逼的。不过有些项目用SVN更方便一些。以前在Window下编程我都用SVN的。要好好学习一下git!下午查各种资料,各种试验,再写博客,收获很多。加油。

6 log
  git log命令展示远程仓库的提交历史,-p选项展示每次提交的修改情况,-2选项展示最近两次提交历史

7 stash与stash pop
  git stash命令可以次工作区设置为上次提交后的情况,方便中途处理重要情况,之后通过stash pop将工作区恢复至之前的状况。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435625-1-1.html 上篇帖子: linux安装git服务器 下篇帖子: git的用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表