美文网首页
GitHub的使用(新手篇)

GitHub的使用(新手篇)

作者: DeamoV | 来源:发表于2017-06-08 10:58 被阅读72次

序言

​ 现在git已经成为很多企业使用的合作开发用的东西,找工作的时候也经常被问在git上有没有什么代码什么的。说实话,git功能很强大,但是入门门槛比较高,和vim一样,属于一个神器的仿佛只有用代码的人才会使用的东西,但是其可以应用再很多地方,比如合作写书也不错?

​ 这篇文章主要介绍的为新手使用的时候可能会遇到的问题,方便大家上手,参考了其他博客的介绍[1,2,3,4],最后整体参考了清华软件工程的视频教程中git的介绍章节写出的本文。


安装

apt-get install git

安装没什么好说的,windows下就直接安装就好了,linux下apt指令也就直接解决。


开始使用之前

首先跟着我仔细想想,如果你要和多个人一起做一件事情,开发同一个项目,那么你们应该怎么做。首先每一个人都有一个自己的本地的该项目的版本,然后有一台服务器上有一个这个项目的正式版本,大家要保证版本同步。也就是说工作需要大体分为,本地同步到服务器,服务器同步到本地。由于可能在你同步到服务器之前有其他人更新了服务器的版本,所以每次同步本地到服务器的之前要先同步服务器端的版本到本地,即下文中先pull再push的重要原因。


创建库

git init

版本库其实是一个含有特殊数据结构的文件夹,上述指令就是把当前文件夹变成一个本地版本库。


同步本地版本库到远端版本库(服务器上)

首先我们需要让本地版本库知道咱们有哪些文件,哪些文件是库中的文件,如果是的话就是已跟踪文件。随后将已跟踪的文件标记为需要上传,即commit操作,最后真正上传,即push。

跟踪文件

git add filename

提交文件

git commit -m "what you want to say"

上传文件

git push

下面的指令为自动将文件先add再commit

git commit -a -m “msg” filename

如果我们想知道知道哪些文件是被跟踪的,哪些文件是被修改过了的话,用以下指令

git status

考虑一种情况,就是我们commit以后,发现漏了文件怎么办?很简单,我们照常add文件,随后使用下列指令来将后加的文件合并到上一次的commit里面。

git commit -amend

那么如果我们添加了文件,在上传前后悔了怎么办?有以下两种方法解决。

1、取消文件的状态,但是保留修改

git reset HEAD filename

2、取消文件的状态,但是还原文件到修改前的状态。

git checkout file

最后,也是超级重要的一种情况,如果服务器端别人更新了A文件,你也再同样位置更新了A文件,则会产生冲突。这时候我们git会提示你哪个文件存在冲突,你需要手动进去修改以后,再重新add该文件再提交。


同步远端版本库到本地版本库

从远端同步到本地用的操作为分为以下几种:

你还没有这个项目,则克隆该版本库

git clone username@domain:path

拉取远端版本库的变动:(注意这个操作应该再每一次push之前都要进行这个操作)

git pull

整体的使用流程

在我们使用的时候,我们肯定都不希望直接在“最终版本”,即master分支下进行直接操作,开发项目肯定都是一个一个功能或者说一个一个部分进行开发的,所以我们一般在开发的时候创建属于自己的分支,在一定时日开发完成且测试通过后,才合并到“最终版本”中。所以这里我们引入分支的操作。

首先先介绍最重要的指令

git checkout

我们可以把它当做linux里面的cd或者mkdir的合并版。

创建分支

git checkout -b week1 #新建本地分支week1并切换切换到支线
git checkout -d week1 #删除本地分支week1
git checkout master   #切换回master分支

同远端版本库的互动

git push -u origin week1 #若远端不存在该分支week1
git push origin --delete week1 #删除远程分支week1

合并分支:(在我们开发和测试完成后,将分支中的内容合并到最终版本[master]中)

git merge week1       #合并week1分支到master中

其他

之前都是命令行的操作,可能上手门槛略微有点高,但是入门之后会非常便捷和快速,毕竟手不离键盘的感觉相当爽。但是再熟悉之前可以用一些有图形界面的软件。如SourceTree,或者直接用github的网页看和上传也行。

上述指令只是git的一小部分常用指令,更多细节可以参见Gitbook[4]。

reference:

[1]http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743858312764dca7ad6d0754f76aa562e3789478044000
[2]http://www.jianshu.com/p/df7ce9f3a5cb
[3]http://blog.csdn.net/wfdtxz/article/details/7973608
[4]https://git-scm.com/book/zh/v2

创建时间:2017.6.8

相关文章

网友评论

      本文标题:GitHub的使用(新手篇)

      本文链接:https://www.haomeiwen.com/subject/szvzfxtx.html