- GitHub
- (原创: 黑小子 - 余)
小编我是一名 Git 新手, 然后花三天时间通过查找网上资料, 了解 Git 的简单使用. 本次我就实战操作 Git 安装, GitHub 仓库创建, 上传代码到 GitHub 上, 从 GitHub 下载代码到本地的一整套流程, 19:00 点了, 有点累了, 该下班了, 希望明天能更好但愿青春和努力不会辜负你我, 不说了, 说的我有点想家了, 广州下雨了, 还好带了洗发露, 该出去洗头了.
Git 客户端 Win 安装和仓库创建
一, 首先去官网下载 Git: https://www.git-scm.com/download/ ,(我下载的是 64 位的).
二, Git 客户端安装比较傻瓜式, 我在之前的博客中已经介绍了它的安装, 这里我不再说明, 点这个链接进去: Java 开发环境配置 Window10.
三, Git 客户端完毕后, 鼠标有键桌面会有两个图标.
四, 开始来搭建一个 GitHub 仓库, 和使用 Git 客户端上传本地代码.
首先你要登录 GitHub 官网, 需要一个 GitHub 账号, 所有还没有的话先去注册吧! 官网地址: https://github.com/ .
五, 注册登录然后开始码农生涯一次玩 Git.
(1)创建项目(仓库), 打开首页就看到了, 我个人建议新手安装一个网易有道词典, 因为我的 English 菜到每次英语考试不及格, 所以每次遇到比较陌生英语就需要借助翻译工具.
(2)
填写相应信息后点击 create 即可
Repository name: 仓库名称
Description(可选): 仓库描述介绍
Public, Private : 仓库权限(公开共享, 私有或指定合作者)
Initialize this repository with a README: 添加一个 README.md
gitignore: 不需要进行版本管理的仓库类型, 对应生成文件. gitignore
license: 证书类型, 对应生成文件 LICENSE
(3)创建完成, 项目中有.
(4)OK, 项目 (仓库) 创建完毕, 接下来就是使用 Git 客户端了.
Git 上传本地代码
一, Git 上传代码有很多种方法, 我所知两种, 我先讲第一种. 首先右键你的项目, 如果你之前安装 Git 成功的话, 右键会出现两个新选项, 分别为 Git Gui Here,Git Bash Here, 这里我们选择 Git Bash Here, 进入如下界面, erp_parent 即为我的项目名.
接下来输入如下代码(关键步骤), 把 GitHub 上面的仓库克隆到本地.
(1)Git clone https://github.com/ycs0403/ycs_erp.git (把 https://github.com/ycs0403/ycs_erp.git 替换成你之前复制的地址, 然后按回车).
回车以后你的本地项目文件夹下面就会多出个文件夹, 该文件夹名即为你 GitHub 上面的项目名, 如图我多出了个 ycs_erp 文件夹, 然后把本地项目文件夹下的所有文件(除了新多出的那个文件夹不用), 其余都复制到那个新多出的文件夹下.
(2)接着继续输入命令: cd ycs_erp, 进入 ycs_erp 文件夹.
(3)然后依次输入以下命令即可完成其他剩余操作:
Git add . (注: 别忘记后面的 . ,. (点) 与 add 之间有空格, 此操作是把 Test 文件夹下面的文件都添加进来)
- Git commit -m "提交信息" (注:"提交信息" 里面换成你需要备注的信息, 如 "first commit","我的第一次 git 提交")
- Git push -u origin master (注: 此操作目的是把本地仓库 push 到 GitHub 上面, 此步骤需要你输入帐号和密码, 登录你的 GitHub 的账户)
(4)这里特别注意, 我这里报了错, 一脸懵逼, 网上找了好久, 没有详细的解释. 原来是 GitHub 禁用了 TLS v1.0 and v1.1, 必须更新 Windows 的 Git 凭证管理器, 才行. 如果第三步没有出现如下图所示问题, 则忽略该步骤, 直接去 GitHub 上看是否上传成功.
Git 凭证管理器地址: https://github.com/Microsoft/Git-Credential-Manager-for-Windows/releases/tag/v1.14.0 (点击下载更新即可).
更新完毕后, 再次进入命令框输入: Git push -u origin master, 成功.
返回到 GitHub 查看, 项目上传成功!
二, 第二种方法:
1, 命令: mkdir manager 创建一个文件夹, 当然鼠标右键也行.
2, 创建完成后, 进入该文件夹. 命令: cd manager.
3, 命令: Git init. 初始化文件夹.(把这个文件夹变成 Git 可管理的仓库)
这时你会发现 manager 里面多了个. Git 文件夹, 它是 Git 用来跟踪和管理版本库的. 如果没有看到 .Git 文件夹, 那么你就需要进入 manager 文件夹: 点击查看, 把隐藏的项目勾上.(因为它默认是隐藏文件).
4, 这时候你就可以把你的项目粘贴到这个本地 Git 仓库里面(粘贴后你可以通过 Git status 来查看它当前的状态), 然后通过 Git add 把项目添加到仓库(或 Git add . 把该目录下的所有文件添加到仓库, 注意点是用空格隔开的). 在这个过程中你其实可以一直使用 Git status 来查看你当前的状态.
(1)把本地项目复制到 manager 文件夹, 然后查看它当前的状态.
命令: Git status .
(2)上面虽然显示了你的项目, 但你还没有把它提交到 GitHub 上面去.
命令: Git add . (注意有个点, add 和点之间有空格)
(3)再命令 :Git status . 查看一下状态.
(4)用命令: Git commit -m "我的第二次提交代码". 把项目提交到仓库.( -m 后面引号里面是本次提交的注释内容, 这个可以不写, 但最好写上, 我之前用第一种方法, 注释内容是: 第一次提交. 我现在用第二种方法, 所以注释内容为: 第二次提交. 以便区分).
5, 本地 Git 仓库这边的工作做完了, 下面就到了连接 GitHub 远程仓库.(由于本地 Git 仓库和 GitHub 仓库之间的传输是通过 SSH 加密的, 所以连接时需要设置一下).
(1)创建 SSH KEY. 先看一下你 C 盘用户目录下有没有 .SSH 目录, 有的话看下里面有没有 id_rsa 和 id_rsa.pub 这两个文件, 有就跳到下一步, 没有就通过下面命令创建.
命令: SSH-keygen -t rsa -C "注释内容, 一般为邮件地址". 然后一路回车. 这时你就会在用户下的. SSH 目录里找到 id_rsa 和 id_rsa.pub 这两个文件 .(我使用第一种方法的时候已经生成了, 所以这步我忽略, 你们没有的话, 就需要命令一下).
(2)登录 GitHub, 找到右上角的图标, 打开点进里面的 Settings, 再选中里面的 SSH and GPG KEYS, 点击右上角的 New SSH key, 然后 Title 里面可以随意填写, 再把刚才 id_rsa.pub 里面的内容复制到 Title 下面的 Key 内容框 里面, 最后点击 Add SSH key, 这样就完成了 SSH Key 的加密. 具体步骤也可看下图:
6, 接下来, 就是创建 GitHub 仓库了, 我在第一种方法里面已经介绍了怎么创建仓库, 所以这里我不重复早轮子, 上去看.
7, 在 GitHub 上创建好 Git 仓库之后我们就可以和本地仓库进行关联了, 根据创建好的 Git 仓库页面的提示, 可以在本地 TEST 仓库的命令行输入:
命令: Git remote add origin https://github.com/ycs0403/ycs_erp.git .(注意: https://github.com/ycs0403/ycs_erp.git 是你的项目路径).
8, 关联好之后我们就可以把本地库的所有内容推送到远程 GitHub 仓库上了.
命令: Git push -u origin master .
(1)由于你新建的远程仓库是空的, 所以要加上 - u 这个参数, 等远程仓库里面有了内容之后, 下次再从本地库上传内容的时候只需下面这样就可以了:
命令: Git push origin master .
(2)这里需要注意一下: 我使用第一种方法的时候, 代码已经提交了一次, 所以 GitHub 仓库不是空的, 在执行上面那步时会报错.
或者是: 创建远程仓库的时候, 如果你勾选了 Initialize this repository with a README(就是创建仓库的时候自动给你创建一个 README 文件), 那么到了第八步你将本地仓库内容推送到远程仓库的时候就会报一个 error: failed to push some refs to 'https://github.com/ycs0403/ycs_erp.git' 的错. 下面是解决方法:
可以通过以下命令先将内容合并以下:
命令: Git pull --rebase origin master .
这时你再 命令: Git push -u origin master 就能成功了.
9, 如果第八步, 第一个小问题(1), 没报错. 那么, 这时候你再重新刷新你的 GitHub 页面进入刚才新建的那个仓库里面就会发现项目已经成功上传了. 至此就完成了将本地项目上传到 GitHub 的整个过程. 上传项目的过程可能需要等一段时间, 完成之后是这样的:
再去浏览器刷新一下 GitHub, 出来了.
总结: 其实只需要下面几步就能把本地项目上传到 GitHub
1, 在本地创建一个版本库(即文件夹), 通过 Git init 把它变成 Git 仓库;
2, 把项目复制到这个文件夹里面, 再通过 Git add . 把项目添加到仓库;
3, 再通过 Git commit -m "注释内容" 把项目提交到仓库;
4, 在 GitHub 上设置好 SSH 密钥后, 新建一个远程仓库, 通过 Git remote add origin https://github.com/ycs0403/ycs_erp.git 将本地仓库和远程仓库进行关联;
5, 最后通过 Git push -u origin master 把本地仓库的项目推送到远程仓库 (也就是 GitHub) 上;(若新建远程仓库的时候自动创建了 README 文件会报错, 解决办法看上面).
Git 从 GitHub 上拉取项目到本地
一, 首先在桌面创建一个文件夹, 命令: mkdir manager . 鼠标右键创建也行.
二, 进入这个文件夹, 命令: cd manager .
三, 初始化这个文件夹, 命令: Git init . 此时文件夹会多出一个目录文件
四, 添加远程仓库, 命令: Git remote add origin https://github.com/ycs0403/ycs_erp.git .(https://github.com/ycs0403/ycs_erp.git 是你的项目地址).
五, 查看目录下的所有项目, 选择你要下载的项目. 命令: Git remote -v .
六, 下载代码到本地, 命令: Git clone .(时间可能有点久, 稍微做等待).
Eclipse 开发工具集成 Git 上传代码到 GitHub
一, 下载插件, 首先打开 Eclipse, 然后点击 Help> Install New Software> Add., 然后弹出一个框.(如下图)
- Name:EGit
- Location: http://download.eclipse.org/egit/updates
勾选插件, 然后一路 next , 最后重启 Eclipse.
二, 建立 Git 的本地仓库, 点击项目, 有两种方法. 首先来看一下我的整个结构.
1, 第一种方法: 右键选择 Team --> Share Project .
2, 第二种方法: 右键选择 Team --> Share Project .
三, 创建本地仓库后, 把项目提交到本地仓库. 如图: 项目上会有一个 "?" 号, 说明还没提交到本地仓库.
1, 首先, 点击项目 --> Team --> Commit.
2, 如图
四, 提交远程仓库. 这下才是真正意义上的提交到 GitHub 上.(注意: 只有先提交到本地仓库, 才可以进行接下来的提交远程仓库)
1, 首先
2, 填写信息
3, 填写信息
4, 成功, 累死我了.
Eclipse 开发工具集成 Git 拉取代码到本地
1, 点击项目空白处或者 File --> import -->Git -->Projects from Git
2, 选择
3, 填写信息
4, 选择你把拉取下来的项目放到哪里
5, 然后一直 next, 直到完成 .OK 了, 报错不是哥的问题, 更不是你的问题, 那只能怪 Git 和 Eclipse 罗. 哥自己项目拉下来还跑不起来吗, 不然就是碰了鬼勒, 跳起来就是砸电脑, 哈哈.
Git 命令大全
- (查看, 添加, 提交, 删除, 找回, 重置修改文件)
- Git help <command> # 显示 command 的 help
- Git show # 显示某次提交的内容 Git show $id
- Git co -- <file> # 抛弃工作区修改
- Git co . # 抛弃工作区修改
- Git add <file> # 将工作文件修改提交到本地暂存区
- Git add . # 将所有修改过的工作文件提交暂存区
- Git rm <file> # 从版本库中删除文件
- Git rm <file> --cached # 从版本库中删除文件, 但不删除文件
- Git reset <file> # 从暂存区恢复到工作文件
- Git reset -- . # 从暂存区恢复到工作文件
- Git reset --hard # 恢复最近一次提交过的状态, 即放弃上次提交后的所有本次修改
- Git ci <file> Git ci . Git ci -a # 将 Git add, Git rm 和 Git ci 等操作都合并在一起做
- Git ci -am "some comments"
- Git ci --amend # 修改最后一次提交记录
- Git revert <$id> # 恢复某次提交的状态, 恢复动作本身也创建次提交对象
- Git revert HEAD # 恢复最后一次提交的状态
查看文件 diff
- Git help <command> # 显示 command 的 help
- Git show # 显示某次提交的内容 Git show $id
- Git co -- <file> # 抛弃工作区修改
- Git co . # 抛弃工作区修改
- Git add <file> # 将工作文件修改提交到本地暂存区
- Git add . # 将所有修改过的工作文件提交暂存区
- Git rm <file> # 从版本库中删除文件
- Git rm <file> --cached # 从版本库中删除文件, 但不删除文件
- Git reset <file> # 从暂存区恢复到工作文件
- Git reset -- . # 从暂存区恢复到工作文件
- Git reset --hard # 恢复最近一次提交过的状态, 即放弃上次提交后的所有本次修改
- Git ci <file> Git ci . Git ci -a # 将 Git add, Git rm 和 Git ci 等操作都合并在一起做
- Git ci -am "some comments"
- Git ci --amend # 修改最后一次提交记录
- Git revert <$id> # 恢复某次提交的状态, 恢复动作本身也创建次提交对象
- Git revert HEAD # 恢复最后一次提交的状态
查看提交记录
- Git log Git log <file> # 查看该文件每次提交记录
- Git log -p <file> # 查看每次详细修改内容的 diff
- Git log -p -2 # 查看最近两次详细修改内容的 diff
- Git log --stat #查看提交统计信息
- tig
Mac 上可以使用 tig 代替 diff 和 log,brew install tig
Git 本地分支管理
查看, 切换, 创建和删除分支
- Git br -r # 查看远程分支
- Git br <new_branch> # 创建新的分支
- Git br -v # 查看各个分支最后提交信息
- Git br --merged # 查看已经被合并到当前分支的分支
- Git br --no-merged # 查看尚未被合并到当前分支的分支
- Git co <branch> # 切换到某个分支
- Git co -b <new_branch> # 创建新的分支, 并且切换过去
- Git co -b <new_branch> <branch> # 基于 branch 创建新的 new_branch
- Git co $id # 把某次历史提交记录 checkout 出来, 但无分支信息, 切换到其他分支会自动删除
- Git co $id -b <new_branch> # 把某次历史提交记录 checkout 出来, 创建成一个分支
- Git br -d <branch> # 删除某个分支
- Git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)
分支合并和 reba
- Git merge <branch> # 将 branch 分支合并到当前分支
- Git merge origin/master --no-ff # 不要 Fast-Foward 合并, 这样可以生成 merge 提交
- Git rebase master <branch> # 将 master rebase 到 branch, 相当于: Git co <branch> && Git rebase master && Git co master && Git merge <branch>
Git 补丁管理(方便在多台机器上开发同步时用)
- Git merge <branch> # 将 branch 分支合并到当前分支
- Git merge origin/master --no-ff # 不要 Fast-Foward 合并, 这样可以生成 merge 提交
- Git rebase master <branch> # 将 master rebase 到 branch, 相当于: Git co <branch> && Git rebase master && Git co master && Git merge <branch>
Git 暂存管
- Git stash # 暂存
- Git stash list # 列所有 stash
- Git stash apply # 恢复暂存的内容
- Git stash drop # 删除暂存区
Git 远程分支管理
- Git pull # 抓取远程仓库所有分支更新并合并到本地
- Git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地, 不要快进合并
- Git fetch origin # 抓取远程仓库更新
- Git merge origin/master # 将远程主分支合并到本地当前分支
- Git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支
- Git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支, 功能同上
- Git push # push 所有分支
- Git push origin master # 将本地主分支推到远程主分支
- Git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建, 用于初始化远程仓库)
- Git push origin <local_branch> # 创建远程分支, origin 是远程仓库名
- Git push origin <local_branch>:<remote_branch> # 创建远程分支
- Git push origin :<remote_branch> #先删除本地分支(Git br -d <branch>), 然后再 push 删除远程分支
Git 远程仓库管
- Git remote -v # 查看远程服务器地址和仓库名称
- Git remote show origin # 查看远程服务器仓库状态
- Git remote add origin [email protected] GitHub:robbin/robbin_site.Git # 添加远程仓库地址
- Git remote set-url origin [email protected] GitHub.com:robbin/robbin_site.Git # 设置远程仓库地址(用于修改远程仓库地址)
- Git remote rm <repository> # 删除远程仓库
创建远程仓库
- Git clone --bare robbin_site robbin_site.Git # 用带版本的项目创建纯版本仓库
- scp -r my_project.Git [email protected] Git.csdn.NET:~ # 将纯仓库上传到服务器上
- mkdir robbin_site.Git && cd robbin_site.Git && Git --bare init # 在服务器创建纯仓库
- Git remote add origin [email protected] GitHub.com:robbin/robbin_site.Git # 设置远程仓库地址
- Git push -u origin master # 客户端首次提交
- Git push -u origin develop # 首次将本地 develop 分支提交到远程 develop 分支, 并且 track
- Git remote set-head origin master # 设置远程仓库的 HEAD 指向 master 分支
也可以命令设置跟踪远程库和本地库
- Git branch --set-upstream master origin/master
- Git branch --set-upstream develop origin/develop
总结: 文章很长, 可能比较乏味, 本文有借鉴, 网上东拼西凑, 不过我都经过实践的, 需要最初自己的理解, 长久坚持. 我最初写博客, 也只是想对自己的理解做一个记录, 如果本文有不合格的地方, 可以指正, 三人行, 必有我师!
- qq:2931445528
- -----------------------------------------------------------END----------------------------------------------------------------
GitHub 安装和使用(超级详细)
来源: http://www.bubuko.com/infodetail-3356661.html