配置身份:
git config --global user.name "whx"
git config --global user.email "whx@gmail.com"
进入项目的根目录,创建代码仓库:
git init
仓库创建完成后,会在项目根目录生成个隐藏的.git文件夹,这个文件夹是用来记录本地所有的Git操作的。可以通过ls -al查看。(要删除本地仓库删除此文件夹即可)
提交本地代码
用add命令先将代码添加进来,再用commit提交就可以了。比如要将src文件夹添加进本地仓库
git add src
可以用add . 代表添加所有文件
git add .
添加好之后就可以用commit命令提交了,提交时一定要通过-m参数添加描述信息,不然会被认为是不合法的提交
git commit -m "First Commit"
忽略文件
其实我们项目中不是每一个文件都是需要被提交的,有一些自动生成的就没必要提交,Git提供了一种机制来帮我们去将指定的文件排除在版本控制之外,它会检查代码仓库下是否存在一个名为.gitignore的文件,如果存在就将文件指定的文件或文件夹排除在版本控制之外,指定的文件或文件夹可以用通配符匹配。
查看修改内容
查看文件修改情况的方法只需要用status命令就好了
git status
查看修改的内容用diff命令,后边指定文件名表示查看该文件名修改的内容,若不跟则表示查看所有文件的修改内容。其中减号代表删除的部分,加号代表添加的部分
git diff
运行结果如下图所示:
撤销未提交的更改
我们想撤销未提交的更改时可以用checkout命令,但这种方式仅适用于未add的代码,如果代码已经add过了,则需要先用reset命令取消添加,然后再用checkout来撤销修改的内容。
git checkout 文件名
git reset 文件名
查看提交记录
我们用log命令就可以查看提交记录,当提交记录非常多的时候我们希望只看其中一条,只需要指定记录id然后加上-1。如果想查看具体修改了什么内容加上-p参数即可
分支的用法
分支是版本控制工具中比较高级而且比较重要的一个概念,它的主要作用就是在现有代码的基础上开辟一个分叉口,使得代码可以在主干线和分支线上同时开发,且相互不影响。分支的英文名是branch。如果要查看当前版本库中有哪些分支用
git branch -a
接下来创建一个版本号为1.0的分支。
git branch version1.0
可以看到现在已经创建了一个version1.0的分支,"*"表示当前代码是在master分支上的,怎么切到version1.0的分支呢,用如下命令:
git checkout version1.0
当需要将分支代码合并到主分支时用下面代码即可:
git merge master
当我们不需要version1.0这个分支时,用以下命令可删除
git branch -D version1.0
与远程版本库协作
如何使用git进行团队开发呢,这就需要一个远程的版本库,团队每个成员从版本库中获取最原始代码,然后各自进行开发,并且每次提交代码同步到远程版本库即可。我们要经常去版本库获取最新代码,否则可能会出现版本冲突问题。
比如有个远程版本库的git地址是https://github.com/hxwang007/SMSGateys.git,就可以使用如下命令将代码下载到本地
git clone https://github.com/hxwang007/SMSGateys.git
如何将本地代码同步到远程版本库呢,用如下命令
git push origin master
其中origin指定的是版本库的Git地址,master指定的是同步到哪一个分支上。如何将远程修改同步到本地呢。Git提供了两种命令来完成此功能,分别是fetch和pull.
git fetch origin master
执行这个命令后就可以将远程代码同步到本地,但并不会合并到任何分支上。会存到origin/master分支。可以用diff命令查看远程修改了哪些东西,之后再调用merge将修改合并到主分支即可。而pull命令则相当于将fetch和merge这两个命令放一起执行了。
git pull oragin master
参考自:郭霖《第一行代码》