《第一行代码》中的Git学习笔记


这是我的第一篇博客,我想开通博客的主要目的是帮助自己记录学习历程以及一些填坑操作的.

第一篇就记录一下我之前的Git学习笔记吧,主要是学习的郭霖大神的《第一行代码》中Git时间的部分.也适合一些零基础的童鞋入门一下.《第一行代码》中Git时间分布在5.6、7.5、11.5、14.2等4个章节里.

1、Git是一个开源的分布式版本控制工具.
2、Git获取网址: http://gitforwindows.org/
下载完成后双击安装包进行安装,之后一直点击下一步就可以完成安装了.
3、配置身份(配置完成后你还可以使用同样的命令来查看是否配置成功,只需要将最后的名字和邮箱地址去掉即可): 
git config --global user.name "Tony"
git config --global user.email "[email protected]"
4、创建本地代码仓库: 
git init 
仓库(Repository)是用于保存版本管理所需信息的地方,所有本地提交的代码都会被提交到代码仓库中,如果有需要还可以再推送到远程仓库中.
仓库创建完成后,会在项目的根目录下生成一个隐藏的.git文件夹,如果想要删除本地仓库,只需要删除这个文件夹就行了。
        查看所有文件 ls -al
        ls
5、提交本地代码
add                                                     是用于把想要提交的代码先添加进来
commit                                             则是真正地去执行提交操作
git add [文件名]/[目录名]                     添加 单个文件/整个目录下的所有文件
git add .                             添加所有的文件
git commit -m "提交的描述信息"          提交(提交之前必须先添加否则无效)
注意:在commit命令的后面我们一定要通过-m参数来加上提交的描述信息,没有描述信息的提交被认为是不合法的.
6、忽略文件:将指定的文件或目录排除在版本控制之外.
Git会检查代码仓库的根目录下是否存在一个名为.gitignore的文件,如果存在的话就去一行行读取这个文件中的内容,并把每一行指定的文件或目录排除在版本控制之外。
AndroidStudio项目中我们并不需要自己去创建.gitignore文件,Android Studio在创建项目的时候会自动帮我们创建出两个.gitignore文件,一个在根目录下面,一个在app模块下面。
当然,我们完全可以对以上两个文件进行任意地修改,来满足特定的需求。
7、查看修改内容:
git status                             查看文件修改情况
git diff                             查看所有文件的更改内容(减号代表删除的部分,加号代表添加的部分)
git diff [全路径+文件名]     查看指定文件的更改内容
如:git diff app/src/main/java/com/liuxb/gittestdemo/MainActivity.java
8、撤销未提交的修改:
只要代码还未提交,所有修改的内容都是可以撤销的。
git checkout [全路径+文件名](必须)             撤销对指定文件的修改
执行了这个命令之后,我们对这个文件所做的一切修改就应该都被撤销了.不过这种撤销方式只适用于那些还没有执行过add命令的文件,如果某个文件已经被添加过了,这种方式就无法撤销其更改的内容.对于已添加的文件我们应该先对其取消添加,然后才可以撤回提交。
git reset HEAD [全路径+文件名](不必须)     取消添加; (HEAD?加不加好像无所谓)
9、查看提交记录
git log                 使用log命令查看历史提交信息
每次提交记录都会包含提交id、提交人、提交日期,以及提交描述这四个信息。
git log [记录id]                 查看该id及其之前所有的记录(可带参数-1,-2等表示查看几条)
git log [记录id] -1         只查看该id的一条记录
git log [记录id] -1 –p 查看这条提交记录具体修改了什么内容
10、分支的用法:分支的英文是branch;
分支的主要作用就是在现有代码的基础上开辟一个分叉口,使得代码可以在主干线(master分支)和分支线上同时进行开发,且相互之间不会影响。
git branch     查看本地当前的版本库当中有哪些分支(哪个分支的前面有*号,就说明目前我们的代码在哪个分支上)
git branch –a     查看远程分支
git branch [分支名]     创建一个分支
git checkout [分支名]     切换到该名字的分支上
在分支线上修改并提交的代码将不会影响到主干线。同样的道理,在主干线上修改并提交的代码也不会影响到分支线。
git merge [分支名]     把在该名字的分支上修改并提交的内容合并到当前分支上
在合并分支的时候有可能出现代码冲突的情况,这个时候你就需要静下心来慢慢地找出并解决这些冲突。
git branch -D [分支名]     删除掉该名字的分支
11、与远程版本库协作
git remote -v     查看远程版本库的Git地址
git clone [远程地址]     将远程版本库的代码下载到本地
git push origin master     把本地修改的内容同步到远程版本库上
其中origin部分指定的是远程版本库的Git地址,master部分指定的是同步到哪一个分支上,上述命令就完成了将本地代码同步到origin(即:clone的[远程地址])这个版本库的master分支上的功能。
将远程版本库上的修改同步到本地,Git提供了两种命令来完成此功能,分别是fetch和pull:
(1)git fetch origin master 将远程版本库上的代码同步到本地
(不过同步下来的代码并不会合并到任何分支上去,而是会存放到一个origin/master分支上,这时我们可以通过git diff origin/master命令来查看远程版本库上到底修改了哪些东西)
git merge origin/master 将origin/master分支上的修改合并到主分支上
(2)git pull origin master 从远程版本库上获取最新的代码并且合并到本地(pull命令相当于将fetch和merge这两个命令放在一起执行了)
12、将代码托管到GitHub上
GitHub的官网地址:https://github.com/; 
GitHub是全球最大的代码托管网站,主要是借助Git来进行版本控制的。
(1)(Start a project)/(New repository)——>(Create a new repository):将版本库命名,然后选择添加一个Android项目类型的.gitignore文件,并使用Apache License 2.0来作为开源协议。
          版本库创建完成,GitHub会自动帮我们创建.gitignore、LICENSE和README.md这3个文件,其中编辑README.md文件中的内容可以修改版本库主页的描述。
(2)在Android Studio中新建一个Android项目(不必与GitHub版本库的名字完全相同)
(3)将远程版本库克隆到本地:打开Git Bash并切换到Android Studio的工程目录下,输入git clone [远程地址]把远程版本库克隆到本地。
(4)将远程版本库目录中的所有文件全部复制粘贴到Android Studio的工程目录中,这样就能将整个Android Studio的工程目录添加到版本控制中去了。
                    注意:.git是一个隐藏目录,在复制的时候千万不要漏掉。另外,Android Studio工程目录中也有一个.gitignore文件,我们直接将其覆盖即可。复制完之后可以把本地的远程版本库目录删除掉。
(5)把Android Studio项目中现有的文件提交到GitHub上面:
    git add .             将所有文件添加到版本控制中
    git commit -m "描述信息"     在本地执行提交操作
    git push origin master     将提交的内容同步到远程版本库,也就是GitHub上面。


猜你喜欢

转载自blog.csdn.net/beita08/article/details/80064829