专栏首页机器学习和数学Github,Gitlab简介及Git入门

Github,Gitlab简介及Git入门

刚搬了家,房子还没有网,这篇文章是开着热点写的,求赞求赞。哈哈哈

如果到现在为止,你还没听过Git,或者用过Git,那建议尽早学习一下,因为很有用。虽然是做算法的,但是编程还是必不可少的。话说在1年前,这三个我确实没用过,也没听过,后来知道了Github,在到现在知道了Gitlab,而且每天都要用Git来管理项目的代码。(主要是merge老大的代码,哭)。下面开始介绍,也许我表达的不够专业哈,但是你能听懂就行。

好,我先说下Github,Github是一个提供代码托管服务的网站,就是你可以把你的代码放在他哪里,不怕丢失。放的时候有2种方法,一种是公开你的代码(所有人可见),这样是免费的,还有一种是只有你自己能看到代码(仅自己可见),但是这样是收费的。然后说下Gitlab,Gitlab和Github差不多的,区别在于在Gitlab上托管仅自己可见的代码的时候,是不需要收费的,这就方便了类似公司自己开发的项目,仅内部成员可见,外部是看不到的。最后说下Git,Git是用来管理代码的一个工具,为什么管理代码呢?可能刚接触编程的时候感觉不到这个有多重要,等你要开始做一些项目的时候,就感受很深了。举个栗子,就像我们些毕业论文的时候一样,可能会有很多个版本,什么改1,改2,改3.。。。等等各种取名字的方法,但是这样就显得很乱,有没有一种工具可以帮我来管理,这样可以解决我改错了可以回退回去等等问题。Git应用而生,Git是项目开发中管理代码的神器。说一下项目开发中都会面临哪些问题吧。首先做一个项目一般至少一个人或者几个成员一起协作完成,那人数比较多的时候,就会有个管理者(技术老大),下面有几个合作者(小弟)。然后每个人都会再自己本地写代码,代码存放的位置,叫做本地仓库,那么放在Github或者Gitlab上的代码叫做远程仓库。然后每个人每天都会写一些代码,保存在本地仓库,然后需要提交到远程仓库,老大看了以后,如果没有问题就会加到项目的主分支上去。这里要说下分支的概念,分支可以代表每个不同的开发者,然后有主分支和其他分支的区别。主分支就是最终需要上线的代码,而其他分支是开发中的代码。每次主分支代码更新以后,小弟们需要把主分支的代码下载下来,继续开发新的任务。以此循环这个过程。

好,说了一堆废话,下面开始一些干货介绍,这里只针对Linux系统来说明,Windows下面有客户端,只要点点点,基本可以解决问题,我没用过,不熟悉。

1. Git安装

sudo apt-get install git-all

2. 常用命令

配置Git:

git config --global user.name “your name”

gitconfig --global user.email “your email”

用户名和邮箱是Github或者Gitlab上的。

查看配置: git config -l,显式自己的用户名和邮箱说明配置对了,

新建Git版本库: git init

添加文件到缓存区 :

git add README.md

提交文件到仓库:

git commit -m “关于代码的解释性文字”

提交代码到远程仓库:

git push -u origin master

gitpush origin master //将本地master分支推送到origin远程分支。

查看提交历史记录:

git log //显示所有提交的历史记录

git log --graph //输出分支变换的图

版本回退:

git reset --hard HEAD^ //回退到上一个提交版本

git reset --hard HEAD^^ //回退到上上一个提交版本

git reset --hard “commit_id” // 回退到commit_id指定的提交版本

撤销修改:

git checkout --README.md //后面跟的是需要撤销的文件的名字

gitcheckout --. // 撤销当前目录下所有修改的文件

丢弃已经添加到缓存区的修改 :

git reset HEAD README.md

新建分支:

git checkout -b new_branch_name //创建分支并切换到新建分支

或者 git branch new_branch_name

切换分支:

git branch new_branch_name

删除分支:

git branch -d new_branch_name

查看Git状态: git status

从远程仓库克隆到本地仓库:

git clone * // *号表示要克隆的代码链接,有http和ssh两种方法。

从远程仓库更新本地仓库:

git checkout master

git pull

git checkout ‘自己分支的名字’

git merge mster

添加SSH key:

首先创建一个ssh key:

ssh -keygen -t rsa -C “邮箱地址”

//直接输ssh -keygen,貌似也可以。如果没有ssh,需要先安装

然后根据输出的信息找到指定目录下的.pub后缀名的文件,打开复制信息。然后打开Github到自己主页下的setting, 有个添加ssh key的选项,把刚才复制的信息粘贴进去就好了。这样每次clone代码的时候就不需要输用户名和密码了。

看完上面的教程,在实际使用中难免会遇到各种问题,这都是正常的,反正你要相信,肯定是中间那里出来问题,不要怀疑人生。如果在使用中遇到问题,欢迎与我交流,乐意为大家解决。

本文分享自微信公众号 - 机器学习和数学(ML_And_Maths),作者:Alvin_2580

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-11-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [编程经验] SciPy之图像处理小结

    Python中可以处理图像的module有很多个,比如Opencv,Matplotlib, Numpy, PIL以及今天要分享的SciPy。其他几个后续都会总结...

    用户1622570
  • 自然语言处理 | 使用Spacy 进行自然语言处理

    Spacy的github地址:https://github.com/explosion/spaCy

    用户1622570
  • Newton迭代法

    今天和大家分享一下,之前抽空写的一篇论文,主要内容就是Newton迭代法,属于数学里面比较基础的,原理也不难,主要通过Newton迭代法可以体会到迭代的思想,以...

    用户1622570
  • Git从入门到速成

    Scott_Mr
  • Git从入门到速成

    Scott_Mr
  • GitHub 系列之「Git速成」1.什么是Git?2.Git 安装3.Git 命令列表4.Git 具体命令

    Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也...

    意气相许的许
  • 如何在IntelliJ IDEA 中使用 Git ?你会没...

    Git是目前流行的分布式版本管理系统。它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行,...

    Java编程指南
  • 技术创新,基于 React Native 的开源项目 | 码云周刊第 17 期

    摘要: 每周为您推送最有价值的开源技术内参! 码云教学 Android Studio 中的项目上传到码云上 作者:@hjqjl 一、首先下载git,并安装 ht...

    码云Gitee
  • 【玩转腾讯云】 在Debian上配置Git服务器,客户端使用VSCode访问

    在 Mac 上安装 Git 有多种方式。 最简单的方法是安装 Xcode Command Line Tools。

    iguojun
  • 记录我学github的路程(三)

    2015-12-22 更新 一、Bug分支 1,假设如下场景,你正在dev分支工作,突然接到一个修复代号为101的bug的任务时,dev的东西还没不能提交,但是...

    xcywt

扫码关注云+社区

领取腾讯云代金券