Git入门

最近开始用Git来管理开发文件了,原因有二:一是方便管理,而是最近申请Github Student Developer Pack成功了,送了一大堆福利,包括两年的免费Private Repository(私人仓库),可以用来存放自己的代码以及项目。后续再写一篇申请教程。不过使用Git也不是一帆风顺,遇到了一些问题,在这里简单说说。

首先是下载git,这里推荐官网,然后找到windows版本,这里对应你的机器,有64位的,也有32位的,不过现在的电脑大部分都是64位的了。

对于Ubuntu,可以直接用命令行安装即可:

sudo apt-getinstall git

由于我大部分时间用的是windows,所以用软件安装的形式。一路默认确定即可,一般它都会按照最方便的设置给你设置好。

安装好后,新建一个文件夹,这个文件夹就相当于本地仓库。在文件夹内鼠标右键->Git bash,会出现一个命令窗口,我们先初始化一下,在Git bash 里面输入:

gitinit

回车后,发现文件夹里多了一个.git文件夹,说明初始化成功。

接下来就是配置我们本地信息,在Bash里面输入:

git config --globaluser.name"Your_name"

这里的Your_name 就是你要设定的用户名。回车后继续输入:

gitconfig--globaluser.email"Your_email@example.com"

这里的邮箱尽量输你注册Github时的邮箱。

然后就是关联我们的Github仓库,首先你得有Github账号,至于怎么注册,这里不再描述,请自行百度或Google。首先是生成SSH秘钥对,方便我们跟Github账号对接。在这里,我第一次是按照廖雪峰的Git教程来的,但是不成功:

ssh-keygen-trsa-C"your_email@example.com"

然后它会提示你保存秘钥对文件,刚开始不懂,就随便找个熟悉的文件夹保存了:

Enter afileinwhichtosave the key (/c/Users/you/.ssh/id_rsa):

然后绑定远程仓库的时候就一直报错,后来上Github看文档,找到了下面的一个提示:

也就是说使用默认的路径就好,问题解决。go on.

接下来就是到Github配置SSH秘钥,点击Setting->SSH  and GPG keys,看到下图:

右上角的“New SSH key”,去到刚才默认生成SSH key 的目录,在我的机器里是:C:/User/11940/.ssh/ 的id_rsa.pub文件里,这里要注意,要用Sublime Text 或者Notepad++ 打开,不要用系统自带的记事本打开,因为windows的记事本会自动在文件第一个位置加一个十六进制代码(嫌弃脸),对于程序员来说,丝毫差错都可能运行不了啊。复制文件里的内容,粘贴到Github的key里面,title可以随意填写:

点击Add SSH key,她会让你验证github密码,填写即可。

回到之前新建的文件夹,右键打开Git Bash 输入如下命令添加远程仓库:

gitremote add origin git@github.com:Your_github_name/your_repository.git

回车,然后会出来一堆信息,如果没有报错就说明成功了,如果报错,说明还没有配置好,或者像我一样,把秘钥文件存到别的地方去了T^T。

接下来测试一下,看看能不能远程同步,输入命令:

gitaddREADME.txt

回车,没有消息,good ,没有消息就是好消息,说明README.txt已经添加到我们的本地仓库,这里的add 命令可以添加多个文件,用英文逗号分隔即可。然后就是提交:

gitcommit -m"add new line"

这里的-m后面的文字就是你修改的话,一般写你改动了什么。回车后会提示你多少个文件提交,以及删除,修改,新增了多少行。我们来尝试一下提交到远程Github仓库,这里的master就是仓库的主要分支,当然,你也可以换到其他分支:

gitpush -u origin master

咦?出错了,提示我被rejected了,并且failed to push some refs to.....,重试了好几次都这样,上网一查,原来是本地仓库和远程仓库不一致造成的,因为在Github建repository的时候选了Initiate with a README.md,也就是远程仓库多了README.md,输入以下命令将远程仓库中的更新合并到本地仓库中,并把刚才提交的文件恢复到原来的状态:

gitpull --rebase roigin master

回车后:

还是报错,看他的提示:You have unstaged changes ,原来是还有东西在缓存区,原因是我把README.txt改成了test.txt然后就commit了,文件对不上自然会报错,输入以下命令:

gitcheckout

emmm....确实是,checkout 命令是用来检查还没提交的,再处理一下:

gitstash

stash 命令用来将所有未提交的修改暂存到stash里。现在文件夹里的README.txt和test.txt都在了,push之后远程仓库里出现了本地仓库的内容,同步完成!

首发公众号:Py填坑之路

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

推荐阅读更多精彩内容