发表于: 2017-03-21 19:48:25
2 615
如何使用git将代码上传至githup?
小课堂【武汉修真院】
分享人:汤特
1.背景介绍
什么是git?
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
什么是github?
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、python 等。
2.知识剖析
如何下载安装GIT?
① windows平台下,https://git-for-windows.github.io/
② 上面的链接速度很慢的话,移步国内镜像https://pan.baidu.com/s/1kU5OCOB#list/path=%2Fpub%2Fgit
③ 安装完成后右键点击桌面空白处,能找到gitbash即安装成功
④ 在命令行输入以下代码:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com“
3.常见问题
3.1 创建版本库
① 创空目录(比如learngit)随便写点什么
$ mkdir learngit
$ cd learngit
$ pwd
② 将目录变为git可管理的仓库
$ git init
③ 将文件添加到版本库
比如创建一个readme.txt,放到learngit目录下
用git add 添加文件
git add readme.txt
用git commit提交文件到仓库
git commit -m "我是第一次添加的内容"
注意:可多次add文件,一次commit
4 解决方案
4.1 查看工作区状态
① 使用git status
② 使用git diff
4.2 版本回退
多次add commit任务后,自己混乱了,想回到之前的某个版本,怎么办?比如:
第一次修改:我是版本一;
第二次修改:我是版本二;
第三次修改:我是版本三
①可通过git log查看历史记录,或者git log --pretty=oneline
②可通过git reset --hard HEAD~1/2/3回到前面1,2,3个版本(单独用)
③可通过版本号git reset --hard 版本号回到前面
④可通过git reflog查看历史命令
4.3 删除文件
通常我们把文件直接右键删除了,导致工作区和版本库不一致,如何知道删除了哪些,怎么把已删除的文件恢复?
①使用git status命令
②确实删除文件,如下:
$ git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
[master d17efd8] remove test.txt
1 file changed, 1 deletion(-)
delete mode 100644 test.txt
③ 删错了,如下:
git checkout -- test.txt
5.编码实战
5.1 设置远程仓库
① 创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件, 如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
② 登陆GitHub,打开“Account settings”,“SSH Keys”页面: 然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
6.扩展思考
① 什么是分支管理,有什么作用?
分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交, 由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。 现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活, 想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。
② 常见的分支管理有关命令
查看分支:git branch
创建分支:git branch (分支名)
切换分支:git checkout (分支名)
创建+切换分支:git checkout -b (分支名)
合并某分支到当前分支:git merge (分支名)
删除分支:git branch -d (分支名)
7.参考文献
参考1:Git教程
参考2:Git是什么
8 更多讨论
① 如何使用git进行团队协作开发?
② svn如何使用
评论