Git安装与基本用法

Git是目前世界上最先进的分布式版本控制系统,也是当下最流行的版本控制,不管是IT行业,还是小说家等等,使用了Git都会给我们带来许多便利。
官网:https://git-scm.com
首先到官网下载最新git版本:


windows下安装git:
笔者没钱买苹果电脑,在此就给大家演示windows下安装git的步骤吧。
1、点击刚下载好的最新git安装文件,然后点击“Next”;

2、选择安装目录,我习惯把软件安装到D盘,这个你们随意就好;

3、
配置安装组件
默认即可,点击“Next”;
默认已经都帮我们否选上了。包括创建桌面快捷方式、Git Bash、Git GUi、已经目录和后缀关联等。


4、在“Adjusting your PATH environment”选项中,默认即可。点击“Next”。
这个步骤最好选择第二项“Use Git from the Windows Command Prompt”, 这样在Windows的命令行cmd中也可以运行git命令了。这样会对以后的一些操作带来方便;

5、使用默认配置Use the OpenSLL library

6、配置行结束标记,保持默认“Checkout Windows-style, commit Unix-style line endings”.

7、在终端模拟器选择页面,默认即可,配置后Git Gash的终端比较易用。

8、最后配置Git额外选择默认即可。然后点击“Install”开始安装。如果之前安装过旧版本,会先卸载然后再安装新版本。

最后成功完成了安装。

那么有人会问,怎样判断git安装是否成功呢,很简单,打开git在命令行输入:git,按回车结果如下:



如果您看到有这些提示,就证明git安装成功了,这些都是git常见的命令,接下来我们就开始一起从零学习git命令吧!
如果看不懂上面的英文,连大概意思都不知道,那就要多多请教Google翻译了,哈哈,我也是这样过来的。

git的基本使用方法:

  1. git status: Show the workingtree status
    输入git status命令查看当前状态:


提示意思就是当前目录还不是一个git目录,所以要先切换到git仓库目录下再进行git操作;在进行任何git操作之前,先要切换到git仓库目录,也就是要切换到项目的文件目录下,切记、切记、切记!

  1. git init:Create anempty Git repository or reinitialize an existing one
    初始化仓库的命令,切换到仓库目录,输入git init,接着我们再次执行第1步操作git status查看当前状态,这里我的仓库是test项目里面有个a.md文件,这时你可以看到test仓库已经被初始化了,默认就直接在master主分支上,a.md文件Untrackedfiles,意思就是a.md文件还没有被跟踪,还没有提交在git仓库里,并且提示我们可以使用“git add”来提交你想要提交的文件。



3.git add:Add filecontents to the index
接着上一步,我们就随便更新下a.md文件然后使用git add a.md将a.md添加到git仓库上,并git status查看下当前状态:


这里可以看到文件a.md的提示:Changes to be committed;意思就是a.md文件等待被提交,当然你可以使用“git rm --cached”命令去移除当前的缓存;相信你对git add已经了解了吧;

  1. git commit: Record changes tothe repository
    接着我们就开始第一次提交了,git commit –m ‘提交的内容说明’;到这一步应该都知道是什么意思了,commit是提交的意思,-m代表要提交的信息; 正常来说是要提交成功了,但是由于初次使用,git用户信息还没配置好:

    Please tell me whoyou are. 没错,接着就要配置邮箱和用户名,以便他们方便地查看和联系提交人:
    git config --globaluser.email "you@example.com"
    git config --globaluser.name "Your Name"
    按照此格式分别对应设置好用户邮箱和用户名就可以了;
    到这里已经配置好用户信息,不过上面所执行的是全局设置,如果某个项目需要用特定的邮箱或用户名来提交的话,只要将git切换到某个项目,把—-global去掉,再重新配置一次就Ok了;
    接着我们就来完成我们期待已久的“第一次提交吧”!
    输入git commit –m ‘my first commit’

    前面也说了,我们没事的时候就多用git status,哈哈!

  2. git log : Show commit logs
    提交成功后,我们可以输入git log,这时就能看到我们提交的信息包括作者和内容;

  3. git branch :List, create, or delete branches
    branch为分支的意思,在团队协作开发中发挥了很大作用,比如一个团队有甲乙两人,他们分别开发不同的功能模块,这时甲乙就可以分别创建自己的分支来提交代码,互不干扰,等功能写好了再统一合并代码。

在前面我们执行git init初始化仓库后都会默认生成一个默认主分支master,我们输入git branch可以查看当前分支情况:


带着*号的master就是我们当前的主分支,这时要团队开发了,我想在此基础上创建一个分支a提交我的代码,接着可以输入 git branch a 创建分支a;



这时我们输入git branch 查看当前分支情况:
  1. git checkout:Switch branches or restore working tree files
    上面确实是创建了分支a,分支a的内容确实是和分支master一模一样的,但是分支a前面没有号,证明当前位置没有在a分支上,所以要切换到分支a上,使用git checkout a 执行这个命令后再次输入git branch,这时a分支前面已经有了号了,这时我就可以在a分支上随便改代码了。

    这时如果觉得这样先创建再切换到分支a上,有点麻烦的话,当然你可以一步完成此操作:git –b a
    就是这样就可以代替上面两步了。

8.git merge: Join two or more development historiestogether
意思就是合并分支的命令,就比如上面a分支的项目都完成了,这时就需要用到这个命令来合并;首先需要切换到主分支master,然后执行git merge a 正常情况下就合并分支成功了。

9 . git branch –d
删除分支的命令,有两种情况可以使用该命令;第一种情况:假如上面新建的a分支的命名错了,可以使用该命令删除;第二种情况:新建的a分支已经合并到主分支上了,那么a分支就不需要了,可以使用该命令删除;在执行该命令前要确保当前位置是在主分支上;


  1. git branch –D
    强制删除分支的命令,有时候使用git branch –d命令去删除分支可能会删除失败,比如a分支上已经提交代码了,这时如果你想执行git branch –d去删除这个分支,那肯定是不行了,系统会提示说,该分支还没有合并代码到主分支上,所以我们可以使用git branch –D去强制删除就可以了。

  2. git tag :
    新建标签的意思,可以给当前状态下的代码添加一个标签,方便下次查看修改;现在我要在a分支上新建了一个标签为tag1,只需输入git tag tag1 就可以了,然后可以输入git tag来查看新建的标签记录。


至此,git的基本用法也差不多是这些了,很基础很基础的用法,必须要懂才能继续深入研究, 接下来就可以试着提交代码到远程服务器了 come on !

开始提交代码到远程仓库----GitHub:
1.SSH和HTTPS
如果要向GitHub上提交代码的话,主要会用到SSH或者HTTPS,说白了就是一种网络协议,最终目的都是向GitHub上提交自己的代码,不同的地方按我的理解就是:SSH是经过RSA公私钥加密处理的,相对于HTTPS更加安全点,在使用之前就要先配置好SSH key,之后提交代码就不在需要输入密码了,相反HTTPS每次提交代码到GitHub都要输入邮箱和密码来验证,所以HTTPS用起来简单,但麻烦一点,SSH就是刚开始要配置麻烦而已;接下来我们就开始配置SSH key吧!

2.配置SSH key
(1)打开Git Bash输入ssh即可查看电脑是否安装了SSH,没有的话就自行下载安装,一般情况下安装了Git都会带上SSH的:

(2)输入ssh-keygen –t rsa指定rsa算法生成秘钥,接着连续3个回车,然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两文件默认在如下目录里生成:win系统在 C:\Users\Administrator.ssh下,都是隐藏文件,相信你们可以查看的。

这样我们就可以将id_rsa.pub配置到GitHub上了,然后在提交代码的时候就会和本地的id_rsa进行校验,校验成功才可以提交代码到GitHub仓库。
(3)GitHub上配置SSH key也就是id_rsa.pub,首先进入GitHub上的settings页面,点击左侧SSH and GPG keys ,如下图:


然后点击右上角New SSH key 按钮,接着粘贴刚才那个id_rsa.pub文件里面的内容:


然后Title 那栏不需要填写,点击 Add SSH key 按钮就可以了,最后就测试下SSH key配置成功没哈,
输入ssh -T git@github.com如果出现如下提示,则配置成功!


3.接下来终于可以提交代码到远程仓库了
(1)先再补充一下git命令,pull和push

Pull:
git pull origin master
将远程最新代码更新到本地。我们在push之前都会先pull,这样就不容易冲突。
push:
git push origin master
将本地代码推到远程master 分支
(2)好了,提交代码到GitHub有两种方法:第一种方法: Clone自己的项目,在自己GitHub上创建一个项目,然后在电脑本地(你喜欢的路径)执行如下git命令:git clone git@github.com:zsml2016/News.git 其中git@github.com:zsml2016/News.git是项目的地址,获取方法如下图:

执行命令行,结果如下:这样就顺利地把GitHub上的News项目克隆到电脑本地了,这时细心点可以发现该项目本身就是git仓库了,不需要再执行git init初始化了,而且已经关联了GitHub远程库了;


没错,到这里我们只需修改我们想修改的地方,然后git commit,最后就git push origin master



然后打开GitHub项目可以看到刚才修改的内容已经提交上来了


第二种方法:就是关联本地项目,就是GitHub没有此项目,我们只能关联本地的项目,然后再提交到GitHub远程仓库; 比如现在我们本地有个news2项目,现在需要在GitHub上创建一个news1(这里为了区别远程和本地项目名字,所以命名并没有限制,自己喜欢,哈哈),然后再把本地news2项目的所有内容提交到GitHub上的news1项目里;

第一步:在GitHub上创建news1项目;
第二步:切换到本地news2目录下,执行如下代码将本地news2项目和GitHub上的news1项目进行关联:
友情提示:由于news2还不是一个git仓库,所以在执行git操作都要先初始化。


先解释下上面操作什么意思吧,remote译为远程的意思,origin是给这个远程仓库起的名字,没错,名字可以随便起的,不过我们都习惯如果只有一个远程仓库时名字就是origin,所以git remote add origin就是添加一个远程仓库,git@github.com:zsml2016/News1.git是远程仓库的地址;
那为什么要给远程库起名呢?因为我们可能会友多个远程仓库,这样就要起不同的名字;
我们可以使用git remote –v 来查看当前项目有哪些远程库:


接下来我们本地的news2项目就可以提交到远程仓库news1了:

这时我们进入GitHub上的new1项目,可以发现news2项目已经提交上来了:


git提交项目到GitHub的学习也差不多了,接下来可以再进阶地去学习,正所谓学无止境,come on !

支持我的话可以关注下我的公众号,也欢迎大家投稿~
扫一扫关注我的微信公众号:程序猿在广东

my二维码.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容