发表于: 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如何使用



返回列表 返回列表
评论

    分享到