如何使用 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 Wizard1)至选择安装组件(一般情况下默认选择即可):
-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
备注:将更新的内容合并到本地分支。