您的位置:首页 > 编程语言

关于git你需要知道这些

2017-02-10 09:33 1076 查看

关于Git的那点小事

建库

现在对于版本管理一般都是使用git了,今天特意来回顾下git一些基本用法。这里我采用github当仓库吧,因为日常也会上传一些项目到github上去。不过以后公司里面开发,是不会把项目放到github上面来的,那个可以使用自己的内部服务器,或者搭建个gitlab都是OK的。

好了,进入正题,先初始化仓库吧,这里我新建了个Android项目,当然这里Android不是关键,其他文件夹都可以。

git init 就是初始化git仓库,这里我是直接在IDEA的命令行窗口输入命令的(当然,你得先装git。。。)。



然后,就去github创建一个空的仓库,拿到它的地址。

先熟悉下一些常用的git命令:

git init 初始化仓库

git log 查看日志

git reflog 查看版本号 这个版本回滚需要用到

git add XX 把XX文件添加到缓存区中,如果要添加全部文件可以使用 git add -A

git status 查看当前仓库的状态

git reset –-hard 版本号 回到某个版本

git remote add origin https://github.com/xxx 关联一个远程库

git push –u(首次才需要用-u 以后不需要) origin master 把当前master分支上传到远程库

git clone https://github.com/xxx 从远程库中克隆项目下来

git checkout –b other 创建other分支 并切换到other分支上

git branch other 创建other分支

git merge other 在当前的分支上合并dev分支

git branch –D other 删除other分支(我记得是要大写的)

git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作

git stash list 查看所有被隐藏的文件列表

git stash apply 恢复被隐藏的文件,但是内容不删除

git stash drop 删除文件

git stash pop 恢复文件的同时 也删除文件

git remote 查看远程库的信息

git remote –v 查看远程库的详细信息

git push origin master Git会把master分支推送到远程库对应的远程分支上

熟悉了一些常用的命令后,我们就可以把本地项目关联github远程仓库了



我们会发现还有这么多文件没有添加到缓存区,那么就可以使用git add -A命令了

当你把这些文件提交到缓存区后push的时候应该会碰到下面的错误

error: failed to push some refs to ‘https://github.com/Smile52/GitDemo.git

没关系,这是因为你在创建github仓库的时候选择创建readme.md文件,把它合过来就行了,下面就是命令

git pull –rebase origin master

合并过来后你会发现本地项目多了个readme.md文件,然后你就可以开始push到github仓库里了。

提交的时间取决你的网速,再加上github的服务器在国外,所以请耐心等待。Push完成后可以就github看看自己刚刚提交的项目吧。



到此为止,提交到github就告一段落了。

版本回滚

平时开发的过程中可能需要回到以前的某次提交的版本,那么强大的git是可以支持版本回滚的。

下面是最开始的版本



接下来我要添加行代码

添加代码后,提交到github上去。接下来准备回到最开始的版本了,先查看下历史版本号,git reflog



那个最前的就是版本号,我们可以通过开始的一个命令回到最开始的版本



这时你再看看看项目,就回到最开始的版本了,那行日志消失了,到这里版本回滚就告一段落了。

分支管理

分支管理是git的一个优势,一个项目是可以分很多个分支,在日常开发中,这个是很有必要的,不用的分子去开发不同模块,到时合并到主干上来就行(冲突要注意)

创建新的分支,在开始有写这个命令,就是git branch other,当然也可以git checkout –b other创建新分支并切换到新分支下。

分支合并就是git merge other ,从当前分支上合并一个 other分支。

还有一些删除分支,上面都是有相应的命令的。

这里有个是要注意的,就是分支切换需要先提交再切换,不然是不成功的。

以上就是git的日常使用,当然它的功能并不仅仅如此,还有更强大的,需要去慢慢挖掘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git github