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

[经验分享] GitHub与Git指令入门

[复制链接]

尚未签到

发表于 2018-1-15 10:19:43 | 显示全部楼层 |阅读模式
GitHub入门

创建账户
  之前做代码版本控制都是在bitbucket上面的私有仓库。现在开源社区挺火的,想在github找些开源的工程学习一下,于是加入了github,这里记录一下入门的经历。
  首先创建账户的过程在这里就省略一万字了…
  点这里进github官网
  创建完账户,你就可以开始建立自己的第一个仓库了。你会在你奇奇怪怪的默认头像旁边看见一个很大的“+”号,点下去,可以看到2个选项,第一个就是新建个代码仓库。
DSC0000.jpg

  填好仓库名,然后点上创建一个README,最好也填点说明。
DSC0001.jpg

  然后你就能看到下面的界面了,现在里面只有一个ReadMe,注意红框的位置,这就是你的仓库地址,如果要克隆仓库,就是这个地址。
DSC0002.jpg

  接下来就可以添加你的工程文件了,你可以用网站上的功能按钮新建文件或者上传文件,但是推荐还是在本地用命令行操作。
DSC0003.jpg

  那本地怎么操作呢?有2个方案:
  1. 直接下载github的桌面程序,是可视化的,很容易上手,建议新手使用。https://desktop.github.com/
DSC0004.jpg

  2. 使用命令行,这里推荐使用命令行,一来效率高,二来以后你到不同的平台上,能很快的上手,再者如果你以后用的服务器没有图形界面,只能用命令行。所以还是熟悉的好。
  
首先你需要安装git

Linux上安装Git
  红帽系列
  

$ sudo yum install git  

  

  Ubuntu系,请尝试用 apt-get:
  

$ sudo apt-get install git  

  

Mac上安装Git
  在 Mac 上安装 Git 有多种方式。 最简单的方法是安装 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。 如果没有安装过命令行开发者工具,将会提示你安装。
  如果你想安装更新的版本,可以使用二进制安装程序。 官方维护的 OSX Git 安装程序可以在 Git 官方网站下载,网址为 http://git-scm.com/download/mac。

Windows上安装Git
  windows用户用2个选择:
  
1. 如果命令已经熟悉的建议用msysGit可以去官网下载:
  
https://git-for-windows.github.io/
  
2. 如果安装了github桌面版,自动会有个git shell (我用的这个,比较好看)
  
https://desktop.github.com/
  安装就一路下一步就好了。由于我是windows环境,这里重点就讲windows上git的使用,不过命令都是通用的。

Windows上git使用
  安装完msysgit后,会有Git Bash的图标,安装完github桌面版会有个git shell
  
我建议用git shell,比较友好(但是命令都是通用的)。Git shell里面,windows和linux的命令都可以用!是不是很赞。
DSC0005.jpg

  打开后是一个控制台,然后就可以输入命令了
DSC0006.jpg

  一开始什么都不会的时候,可以使用
  

git help  

  

  查看可用命令。下面先记录一些刚开始可能会用到的命令,剩下的命令以后再记录。

Git常用命令

获取仓库
  可以用
  

git init  

  

  初始化一个仓库,但是一般常用的都是克隆现有的仓库,这里还是用刚才创建的helloworld仓库
  

git clone https://github.com/hk029/hello-world.git  

  

  url后面可以用一个新的路径名,让它保存到特定的目录下,默认就是当前路径下创建一个和仓库名一样的目录。
  注意:这个命令是克隆了一个仓库而不是简单的拷贝了文件下来,还保存了有关仓库的信息,基本就是克隆出了一个小的本地仓库。
  然后可以cd进去看看
DSC0007.jpg

  这里有个比较有意思的地方,你会发现目录名后一个’[master]’这个表示目前这是一个master分支。当前目录有个.git目录,它会记录仓库的信息,所以你能看到‘[master]’这个标签。之后你对当前目录的文件做的操作,都会被记录。

状态与暂存
  检查目前仓库的状态是挺重要的一个环节,以免你提交代码的时候提交的不是最新代码。
  
一般来说,你目前目录下的文件就两种状态


  • 跟踪
  • 未跟踪
  我们可以先输入命令看看当前仓库的状态
  

git status  

  

DSC0008.jpg

  可以发现目前目录下很干净,一切都和当初克隆下来一样,所以状态显示也是很干净。
  我们新键一个文件,或者从别的地方移动一个文件到当前目录下,看看有什么变化。
DSC0009.jpg

  我们可以看见,‘[master]’之后多了几个东西。

  +1 表示目前有1个新文件
  
~0 表示0个修改的文件
  
-0 表示0个删除的文件
  
! 表示未保存

  我们再输入status命令看看
DSC00010.jpg

  发现目前有个未跟踪的文件了。
  我们把它暂存到暂存区
  

git add NewFile  

  

  这个命令会把这个文件放到暂存区(还是在本地)到时候提交的时候就会把暂存区的东西提交到网上。
DSC00011.jpg

  这个时候,我们发现红色的字变成了绿色,感叹号也没有了,说明目前修改都已经保存了。
  再输入satus命令看看
  
DSC00012.jpg
  这个时候已经是跟踪状态了。
  如果我们这时候修改NewFile会发生什么呢?
DSC00013.jpg

  可以发现,又变红了,这时候出先了~1,说明有一个修改文件。使用status命令看看
DSC00014.jpg

  果然,出现了一个NewFile在未跟踪里面。这不是很奇怪吗,一个文件既是跟踪又是未跟踪?其实这很好理解,你可以理解为暂存区还有一个NewFile拷贝,就是原来那个我们add的“空”的NewFile。修改的这个不在暂存区,如果这时候我们把所有修改提交,那么提交的是“空”的NewFile。
  所以当我们提交前,一定要看是不是还有红字?是不是还有什么修改没有更新到暂存区!
  最后,还说下,其实git status有个简化输出的形式。
  

git status -s  

  

DSC00015.jpg

  这里我为了让所有状态都出现,删除了README.md,可以发现这个简化版输出其实更直观。
DSC00016.jpg

  我们把所有的修改更新到暂存区吧:
  

git add NewFile  
git rm README.md
  

  

  现在所有的更新都更新到暂存区了,可以提交了!

提交到本地仓库
  这里的commit只是保存到了本地。如果你只需要一个本地仓库,那么现在也就够了。
  

git commit -m "my first commit"  

  

DSC00017.jpg

  注意:一定要带-m加上说明
  推送到远程仓库
  因为你是直接从远程仓库拷贝的,所以你输入
  

git remote  

  

  会发现已经有个orignal了
  
这个时候你直接git push就行了
  

git push  

  

DSC00018.jpg

DSC00019.jpg


用SSH连接并推送到远程仓库
  但是,建议还是使用ssh的模式,安全点。下面说下ssh的模式怎么用,首先你要创建一个私钥,就是在自己电脑里的钥匙。
  

ssh-keygen -t rsa -C "your email addr"  

  

DSC00020.jpg

  
第一个是问你改不改目录,回车就好。然后输入密码,确认(这个密码是生成这个密钥的密码,也可以为空,这样你下次push就不用输入密码了)。
  然后你就可以去那个目录下找id_rsa.pub文件,打开(随便用什么打开),把里面的东西复制。
DSC00021.jpg

  然后去网站上把自己私钥输入进去,头像——settings
DSC00022.jpg

  根据图片点New SSH key
DSC00023.jpg

  然后输入一个随便什么title自己知道就好,和你刚才复制的东西在key里
DSC00024.jpg

  这时候,就算在github上注册了你的私钥,然后在输入
  

ssh -T git@github.com  

  

  看看是不是能ssh连上github
DSC00025.jpg

  好了一切准备就绪。
  
我们先把远程仓库加上:
DSC00026.jpg

  选择ssh,然后复制后面的地址。
  (因为之前有一个original的,我们这里方便测试先删了它)
  

git remote rm origin  

  

  输入
  

git remote  

  

  发现没东西了,可以添加新的远程仓库了。
  

git remote add origin git@github.com:hk029/hello-world.git  

  


  然后输入
  

git push -u origin master  

  

  master是你的分支,origin是你的远程仓库
  第一次git push -u origin master后,就可以用直接用git push指令了
  好了这些基本操作就可以满足一些日常使用了,后续再加一些关于分支还有撤销 删除的操作。

运维网声明 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-435270-1-1.html 上篇帖子: 【GIT】使用Git命令窗口将本地工程提交至远程GitHub 下篇帖子: 记录我开始学习 Git的路程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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