如何使用 Git 和 GitHub 来管理自己的代码

一、注册 GitHub 账号

1. GitHub 官方网站:github.com/

2. 注册并登录 GitHub 账号

3. 创建存储仓库

    点击右上角加号箭头,在弹出的菜单中选择 "New repository" 选项进行仓库配置。

创建存储仓库

    1> Repository name:存储库名称

    2> Description:对此仓库的描述

    3> 自由选择:Public(公共)或Private(私人)仓库

    4> 自由选择:是否勾选 "Initialize this repository with a README"

         备注:1. 如果是新创建的仓库可以选择勾选

                    2. 如果要导入现有存储库可以选择不勾选

    点击 "Create repository" 按钮进行仓库创建。

配置存储仓库

4. 若选择了 "README" 选项,那么在创建仓库成功后可以点击 "README.md" 文件来修改并编译此文件。

创建仓库成功

二、在windows下安装Git工具

1. 下载地址:git-scm.com/

2. 下载完毕后点击 "Next" 进行安装

Information
Select Destination Location
Select Components
Select Start Menu Folder
Adjusting your PATH environment
Configuring extra options


Configuring experimental options
Completing the Git Setup Wizard

1)至选择安装组件(一般情况下默认选择即可):

-Additional icons:其他图标

On the Desktop:选择是否创建桌面快捷方式

-Windows Explorer integration:Windows资源管理器集成

Git Bash Here:使用Bash浏览源码

Git GUI Here:使用GUI浏览源码

-Associate .git* configuration files with the default text editor:是否关联git配置文件,该配置文件主要显示文本编辑器的样式

-Associate .sh files to be run with Bash:是否关联Bash命令行执行的shell脚本文件

-Use a TrueType font in all console windows:在命令行中是否使用TruthType编码,该编码是微软和苹果公司制定的通用编码

2)至设置环境变量(一般情况下默认选择Git Bash即可):

-Use Git from Git Bash only:使用Git自带的Git Bash命令行工具

-Use Git form the Windows Command Prompt:使用Windows系统的cmd命令行工具

-Use Git and optional Unix tools from the Windows Command Prompt:上面二者同时配置,但是注意这样会将windows中的find.exe和sort.exe工具覆盖,如果不懂这些尽量不要选择

3)选择换行格式:

-Checkout Windows-style,commit Unix-style line endings:(Windows系统安装选择)检查换行格式将windows格式的换行转换为unix格式的换行在进行提交

-Checkout as-is,commit Unix-style line endings:(Unix系统安装选择)检查换行格式将原来不管什么格式的换行一律转换为unix格式的换行在进行提交

-Checkout as-is,commit as-is:(非跨平台项目安装选择)不进行格式转换,检查出什么格式就提交什么格式

三、配置Git环境

1. 点击 "Git Bash" 打开 Git 命令控制台

Git Bash 命令控制台

2. 生成秘钥文件来连接 GitHub,在控制台输入如下指令并连续敲 3 次回车即可

    $ ssh-keygen -t rsa -C "myMailbox@163.com"

    备注:"myMailbox@163.com" 是你的邮箱地址,需要注意的是 "ssh-keygen" 之间是没有空格的,其他的之间是有空格的。

生成秘钥文件

3. 秘钥生成后可以在 "C:\Users\Administrator\.ssh" 文件夹下找到秘钥文件 "id_rsa.pub"

4. 在登录的 GitHub 账户中配置 "SSH keys",点击用户头像指示的三角图标选择 "Settings",然后选择 "SSH and GPG keys",点击右侧 "SSH keys" 栏中的 "New SSH key" 按钮进行配置(其中 Title 可以自己随意起一个名字,而 Key 的内容就是将 "id_rsa.pub" 文件中的内容全部复制过来即可),点击 "Add SSH key" 按钮完成操作,此时在你填写的邮箱中会收到一封确认的邮件可以不用管它。

选择 "Settings" 选项
"SSH keys" 配置
SSH 秘钥列表

5. 验证 Git 环境是否配置成功

    $ ssh -T git@github.com

    备注:1. 当提示输入(yes/no)? 时,在后面输入 yes 回车即可,如果看到欢迎语 "Hi xxx! You've successfully authenticated, but GitHub does not provide shell access" 则表示配置成功。

    2. 如果提示类似 "ssh: Could not resolve hostname \342\200\223t: Name or service not known" 的错误,解决办法是执行命令:ssh -t -p 22 git@github.com(其中 -p 表示修改服务器端口为22)。

GIt 环境配置成功

6. 配置身份标识用户名和密码

    $ git config --global user.name "userName"

    $ git config --global user.email "myMailbox@163.com"

    备注:"userName" 和 "myMailbox@163.com" 分别是你自己的用户名和邮箱。

配置用户名和密码

四. 创建本地管理仓库

1. 在自己的 Windows 下面选一盘符用来创建 Git 本地仓库

    1> 本地创建:可以在任意盘符中创建一个目录文件夹

    2> 命令创建:执行下面两句命令后就会自动在电脑 E 盘创建一个 "myGitHub" 的目录文件夹

         $ cd /e

         $ mkdir myGitHub

创建 GIt 本地仓库

2. 选中创建的仓库目录右击鼠标,在弹出的菜单中选择 "Git Bash Here" 选项后就会在此目录中打开我们的 Git 命令控制台,进入到了本地仓库的根目录下。

本地仓库根目录

3. 初始化 Git 仓库,操作完成后会在此目录中生成一个隐藏的 .git 后缀文件

    $ git init

    备注:初始化必须进入到本地仓库的根目录下面。

初始化 Git 仓库
生成 .git 文件

4. 添加远程仓库管理

    $ git remote add origin git@github.com:userName/hello-word.git

添加远程仓库管理

    备注:其中 "git@github.com:userName/hello-word.git" 是我们 GitHub 中 "hello-word" 项目的 ssh 地址,"userName" 是我们在 GitHub 网站上注册时使用的用户名,"hello-word.git" 是我们为这个项目建立的仓库名。

项目仓库地址

5. 如果在 GitHub 上创建仓库的时候将 "README" 选项选择了则就已经算是一次提交了,若需要在本地同步远程仓库的内容则使用如下命令即可

    $ git pull git@github.com:userName/hello-word.git

    或者

    $ git pull origin master

同步远程仓库内容

    备注:"userName" 是我们 GitHub 账号的用户名,"hello-word.git" 是我们为这个项目建立的仓库名,执行如上命令成功后在将会在本地仓库的根目录下生成从远程仓库同步下来的 "README.md" 文件。

同步远程仓库的 README.md 文件

五、在本地仓库上传代码到远程仓库

1. 将需要上传的文件放入本地仓库的根目录中

需要上传的 hello-word.txt 文件

2. 添加当前更改或新增文件到本地 Git 仓库中

    1> 添加指定文件

    $ git add hello-word.txt

    备注:添加当前目录中的 "hello-word.txt" 文件到本地 Git 仓库中。

    1> 添加全部文件

    git add .

    备注:"add" 后面加点意思就是将本仓库中的所有内容添加到本地仓库中。

添加全部文件到本地仓库

3. 提交当前工作空间的修改内容

    $ git commit -m "XXX"

    备注:"XXX" 是提示信息,此提示信息是一定要写的,不仅是规则同时也方便我们记录此次操作的是什么内容。

提交修改内容

4. 推送本地仓库内容到远程仓库

    $ git push git@github.com:userName/hello-word.git 

    或者 

    $ git push -u origin master

    备注:"userName" 是我们 GitHub 账号的用户名,"hello-word.git" 是我们为这个项目建立的仓库名。

推送本地内容到远程仓库

5. 如果出现 "non-fast-forward" 错误,主要是因为 GitHub 仓库中已经存在有一部分内容了,所以它不允许你直接把你的内容覆盖上去,比如有的人在新建仓库配置信息时将 "README" 文件选项打钩了可能就会出现这种情况,此时可以使用如下方法解决

    $ git push --all -f

    备注:强推即利用覆盖方式将你本地的代码替代 GitHub 仓库内的内容

6. 至此上传文件就结束了,你可以到你的 GitHub 项目主页(https://github.com/userName/hello-word.git) 看到从本地仓库上传到 GitHub 远程仓库的文件了。

六、Git常见功能管理

1. 增加、修改或删除了新文件

    $ git add .

    $ git commit -m "XXX"

    $ git push origin master

    或者

    $ git push -u origin master

2. 从远程仓库克隆内容至本地仓库

    $ git clone git@github.com:userName/hello-word.git

    备注:"userName" 是我们 GitHub 账号的用户名,"hello-word.git" 是我们为这个项目建立的仓库名。

3. 假如本地仓库已经存在了代码而远程仓库里有更新,需要将更改的内容合并到本地的代码中

    $ git fetch origin    

    备注:获取远程更新。

    $ git merge origin/master 

    备注:将更新的内容合并到本地分支。

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

推荐阅读更多精彩内容