Android开发预习之学习使用Git | 青训营笔记

141 阅读6分钟

这是我参与「第四届青训营 」笔记创作活动的的第2天

在此之前,由于没有过团体开发项目的经历,所以对于Git也是止于了解,没有真正的上手实操过,但本次的青训营需要团队合作,为了在开发项目的时候不会出现差错,所以趁着还没有开课的这两天紧急补习了一下关于Git的基本操作,并在学习过程中记录了一些过程,也算是学有所成。


Git常用命令

设置用户签名

git config --global user.name Alan
git config --global user.email szxtjnu@gmail.com

签名的作用:

区分不同的操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。

Git首次安装必须设置用户签名,否则无法提交代码。

初始化本地库

git init

如果想用git来管理目录,就需要初始化本地库.

初始化完毕后,相应目录下会生成.git文件夹

查看本地库状态

首次查看本地库状态

git status

首次查看本地库状态时会提示:nothing to commit(create/copy files and use "git add" to track)

添加暂存区

git add

使用命令将目录下的文件添加到暂存区之中,再使用git status查看状态,发现添加到暂存区中的文件变为绿色了

提交本地库

git commit -m

将暂存区的文件提交到本地库,并且注明版本信息

修改文件

当修改文件之后,使用git status查看状态,可以发现修改的信息,并且修改后的信息并没有被加入到暂存区。

可以使用git add 命令将修改信息提交的暂存区之中,并且可以使用git commit -m将暂存区中的文件提交到本地库之中

版本穿梭

查看精简版/完全版信息

使用命令git reflog可以查看精简版版本信息,包括版本号、版本提交次数等等

使用命令git log可以查看完全版版本信息,增加了更改者信息以及更改日期等信息

返回之前版本

通过命令git reset --hard '版本号'来完成版本回溯,完成操作后使用git status命令查看git版本状态,git会为本次的操作生成一个log,并且git的指针也会移动到相应的版本号之后。

Git进行版本穿梭,在底层是通过调用指针来完成不同的版本切换,而不是简单的复制粘贴


Git分支操作

什么是分支

在产品开发中,用户所使用的服务器和程序员所使用的服务器不是一个,开发所使用的服务器上运行的是一个产品代码的分支,而用户服务器上也有一套产品代码的分支。

同时,在版本控制的过程中,许多任务需要完成,我们可以为每个任务单独的创建一个分支,然后负责不同任务的人员可以独立开发,最终再进行整合。(分支底层也是指针的引用)

分支的好处

可以同时并行开发多个功能,提高开发效率

且在开发过程中如果存在分支开发失败的情况,可以单独对其进行删减操作,对于其他分支来说不受影响

分支的操作

命令名称作用
git branch 分支名创建分支
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名把制定的分支合并到当前分支上

查看分支

使用命令git branch -v可以查看分支

创建分支

使用git branch '分支名'可以创建新分支

切换分支

使用git checkout '分支名'来切换分支

切换分支后,使用git branch -v来查看分支,可以发现*指针已经指向所切换的分支,并且所切换的分支名称变为绿色

合并分支

使用git merge '合并分支名'可以将其他分支的文件与该分支合并

正常合并

如果使用命令合并,没有出现错误的话,就是正常合并

冲突合并

若两个分支在同一个文件的同一个位置有两套完全不同的修改方式,git就会提示我们,并要求操作者人为选择新代码的内容。

$ git merge hot-fix
Auto-merging hello.txt
CONFLICT (content): Merge conflict in hello.txt
Automatic merge failed; fix conflicts and then commit the result.

发生冲突后,git会处于MERGING的状态,即正在合并中,并未合并完成。

此时需要使用vim编辑器将需要修改的文件进行修改,并添加至暂存区。

且合并时,只会修改当前分支内容,被合并分支内容不会被修改

合并底层其实也是通过指针的移动来实现的


GitHub操作

创建远程仓库

首先在GitHub上创建一个代码仓库,并将远程地址连接复制到剪切板之中

切换到本地git bash中,可以先使用git remote -v来查看当前的代码仓库别名

使用git remote add '别名' '链接'来创建一个远程库别名

推送本地分支到远程仓库

使用git push '别名' '分支名'来将本地分支推送到远程仓库

拉取远程库代码到本地

使用git pull '别名' '分支名'来将远程端的分支拉取到本地仓库

拉取动作会自动提交到本地库,不需要手动提交

克隆远程仓库到本地

使用git clone '链接'来将远程端的代码克隆到本地,克隆public库不需要登录账号


IDEA使用git

配置忽略文件

将配置文件忽略掉可以屏蔽开发工具之间的差异

创建忽略规则文件xxx.ignore

便于被引用,该文件通常放在用户家目录下

# Complied class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
he_err_pid*

.classpath
.project
.settings
target
.idea
*.iml

在git config之中引用忽略配置文件

在gitconfig文件中添加代码:
[core]
	excludesfile = C:/Users/[自己账户用户名]/git.ignore

在IDEA中定位本地git程序

在IDEA的Setting中设置自己本机的git地址。

配置完成后,新建一个maven项目,并在VCS中开启git管理项目

使用IDEA克隆远程项目

在Git中选择clone,并将URL填入,等待Git操作即可