如何使用 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 

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

作者:w_陌上花开 链接:https://www.jianshu.com/p/7fa6b2d81f19 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

本文地址:https://www.zwblog.cn/post/76.html 版权声明:本文为原创文章,版权归 witt 所有,欢迎分享本文,转载请保留出处!

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SpringBoot 核心技术

第十四章:QueryDSL与SpringDataJPA共同服务于SpringBoot

44640
来自专栏FreeBuf

WPScan使用完整攻略:如何对WordPress站点进行安全测试

WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用PHP编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和Wo...

28500
来自专栏地方网络工作室的专栏

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(三)认识项目所有文件

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(三)认识项目所有文件 在《Vue2+VueRouter2+Webpack...

23750
来自专栏重庆的技术分享区

MySQL在windows下的安装与配置

官网版本: https://dev.mysql.com/downloads/mysql/5.6.html#downloads

23140
来自专栏玩转JavaEE

MongoDB副本集搭建

我们之前的案例都是在单个节点上实现的,在生产环境中这种做法是有风险的,如果服务宕机、崩溃或者硬盘坏了都会对公司业务造成损失,因此我们需要数据备份。在MongoD...

38860
来自专栏吴伟祥

IntelliJ IDEA代码编辑器中的HTTP客户端

Scratch文件可用于在开发期间测试HTTP请求。临时文件不存储在项目中,因此IntelliJ IDEA可以修改它并添加有关请求的其他信息。从临时文件执行HT...

54630
来自专栏nummy

sphinx入门指南【2】 toctree指令详解

reST本身并不支持同时与多个文档进行交互,或者说将一个文档保存到多个文件中。Sphinx提供了自定义指令toctree来支持实现这个功能。

13930
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装phpIPAM

phpIPAM是一个专用的IP地址管理工具,超越低技术选项通过提供自动ping扫描,状态报告,让您可以看到哪些主机已启动,哪些已停机,通过电子邮件发送有关你正在...

24000
来自专栏Ken的杂谈

Java快速入门教程 3、使用IntelliJ IDEA+Maven 创建、开发、管理项目

在 POM 中,groupId, artifactId, packaging, version 叫作 maven 坐标,它能唯一的确定一个项目。有了 maven...

57620
来自专栏云计算教程系列

Shell脚本入门

Shell脚本可用于运行多个命令,广泛适用于困难参数的单个命令,或用于分发工作的更友好的用户界面。本质上讲,它可以通过自动化来简化您不必手动完成操作。

14410

扫码关注云+社区

领取腾讯云代金券