赞
踩
Git是一个开源的分布式版本控制工具,它的开发者就是大名鼎鼎的Linux操作系统的作者Linus Torvalds。Git被开发出来的初衷是为了更好地管理Linux内核,而现在早已被广泛应用于全球各种大中小型项目中。
Linux下的安装:由于Git和Linux操作系统是同一个作者,因此Git在Linux上的安装十分简单,直接进入终端,输入命令:
sudo apt-get install git
Mac下的安装:在终端中输入命令:
brew install git
Window下的安装:访问Git for Windows官网:
https://gitforwindows.org/
点击download下载安装即可。
【详细安装教程可以参考:https://blog.csdn.net/eno_yang/article/details/114782695,基本上一路next即可】
Linux或Mac系统:
直接打开终端界面即可。
Windows系统:
在开始菜单中找到Git Bash并打开,或者右键点击Git Bash打开即可
Git安装完成后,首先需要配置身份,命令如下:
git config --gloabl user.name your_name
git config --global user.email your_email
如:
git config --global user.name"Tony"
git config --global user.email"tony@gmail.com"
配置完成后,输入前面的命令查看是否配置成功:
【注】:如果不加–global后缀签名内容会保存在 ./.git/config 文件中。若在 config 后加 --global 后缀,则为系统级签名,签名内容会保存在 C:/用户/用户目录/.gitconfig 中,如果Git报错用户名和密码没有配置成功,则可以进入该目录下加上如下内容:
配置完成后就可以创建代码仓库了。仓库(repository)是用于保存版本管理所需信息的地方,所有本地提交的代码都会被提交到代码仓库中,如果有需要可以推送到远程仓库中。
这里我们尝试给HelloWorld项目建立一个代码仓库。
git init
这样Git就把仓库建好啦,我们可以看到在当前目录下多了一个 .git 的目录,这个目录是Git来跟踪管理版本库的,可以通过
ls -al
查看,如下图:
建立完代码仓库之后就可以提交代码了。提交代码的方法非常简单,只需要使用add和commit命令即可。add用于把想要提交的代码添加进来,commit则是真正执行提交操作。
比如添加build.gradle文件,就可以输入如下命令:
git add build.gradle
如果想添加app目录,就可以输入如下命令:
git add app
如果想添加所有文件,就可以输入.:
git add .
当该项目下的所有文件都已经添加好了,我们就可以提交了,输入如下命令即可:
git commit –m “First commit.”
-m参数用于加上提交的描述信息,没有描述信息被认为是不合法的。
build目录下的文件都是编译项目时自动生成的,我们不应该将这部分文件添加到版本控制中,如何才能实现这样的效果呢?
Git提供了一种可配性很强的机制,允许用户将指定的文件或目录排除在版本控制之外,它会检查代码仓库的目录下是否存在一个名为.gitignore的文件,如果存在,就去一行行读取这个文件中的内容,并把每一行指定的文件或目录排除在版本控制之外。
【注意】:.gitignore中指定的文件或目录是可以使用“*”通配符的。
以Android代码为例,.gitignore无需自己创建,Android Studio在创建项目时会自动帮我们创建出两个.gitignore文件,一个在根目录下,另一个在app模块下。
根目录下的.gitignore文件如图:
这是Android Studio自动生成的一些默认配置,通常情况下,这部分内容都不用添加到版本控制当中。
app目录下的.gitignore文件如图:
因为app模块下面大多是我们编写的代码,因此默认情况下只有其中的build目录不会被添加到版本控制当中。
因此,我们可以对该目录进行修改,比如说不把src目录下的test测试文件添加到版本控制中,就可以这么修改:
最后,提交代码:
git add .
git commit –m “First commit.”
完成加入。
Git查看自上次提交后文件修改的内容,只需要使用status命令即可:
这表示Git提示目前项目中没有任何可以提交的文件,因为我们之前提交过。现在对MainActivity进行一些修改,再次输入git status命令:
可以看到,Git提醒activity_main.xml这个文件已经发生了修改~
通过diff命令可以看到更改的内容:
git diff
可以看到,这里将android:layout_height=“50dp”修改为了
android:layout_height=“60dp”
如果只想查看activity_main文件的更改内容:
git diff app/src/main/res/layout/activity_main.xml
这样文件所有的修改内容就可以在这里查看了。其中变更部分最左侧的加号代表新添加的内容。如果有删除内容的话,在最左侧用减号表示。
如果想撤销这个修改,可以使用checkout命令,命令如下:
git checkout app/src/main/res/layout/activity_main.xml
重新运行git status命令检查一下:
可以看到,当前项目中没有任何可提交的文件,说明撤销操作成功。
但是,这种撤销方式并不适合那些执行过add命令的文件,如果想撤销添加过的文件,则需要使用reset命令:
git reset HEAD app/src/main/res/layout/activity_main.xml
使用log命令可以查看历史提交信息,用法如下:
git log
可以看到,每次提交记录都会包含提交id,提交人,提交日期以及提交描述这4个信息。
当提交记录非常多的时候,如果只想查看其中一条记录,可以在命令中指定该记录的id:
git log 073e352c64aff28a74ac3686969443cc795322cc
-1表示只想查看最后一次提交记录:
分支是版本控制工具中比较高级且比较重要的一个概念,它主要的作用就是在现有代码的举出上开辟一个分叉口,使得代码可以在主干线和分支线上同时进行开发,且相互之间不会影响。分支的工作原理如下:
分支的英文是branch,如果想查看当前的版本库中有哪些分支,可以使用git branch这个命令,如下:
由于目前的项目中还没有创建过任何分支,因此只有一个master分支存在,这也是前面所说的主干线。接下来创建一个分支,分支名称为version1.0:
git branch version1.0
输入git branch命令检查一下:
“*”号用于提示代码是在master分支下,如果想切换到version1.0下,则需要调用checkout命令:
使用-D命令将version1.0这个分支删除:
git branch –D version1.0
【注意:删除之前需要先将分支切换出去】
Github是最全最大的代码托管网站,主要就是通过Git来进行版本控制的。任何开源软件都可以免费的将代码提交到GitHub上,以零成本的代价进行代码托管。GitHub的官网地址是:https://github.com/。
点击右上角Sign up按钮进行注册。注册完成后,登录到github的个人中心。
通过“New”按钮可以创建一个版本库,Repository name表示版本库名称,这里名称设置为“HelloWorld”。然后勾选“Add a README file”,“Add .gitignore”并将其类型设置为Android(这里以Android项目为例),勾选“Choose a license”并将其类型设置为Apache License2.0。
可以看到,创建完成后Github会自动帮我们创建了.gitignore、LICENSE、README.md这三个文件。
其中编辑README.md文件中的内容可以修改HelloWorld版本库主页的描述。
复制远程版本库的Git地址:
打开Git Bash界面并切换到HelloWorld的工程目录下:
输入:
git clone https://github.com/Frederick-di/HelloWorld.git
把远程版本库克隆到本地,如下:
可以进入该目录下的HelloWorld目录并输入ls-al命令查看是否复制成功:
接下来需要将这个目录中的文件全部复制粘贴到上一层目录中,这样就能将整个HelloWorld工程目录添加到版本控制中去了。
【注意】:上一层目录中也有一个.gitignore文件,直降将其覆盖即可。
复制完成后将HelloWorld目录删除,最终的HelloWorld工程目录为:
接下来把HelloWorld项目中的现有文件提交到GitHub即可。输入如下命令:
git add .
git commit –m “First commit.”
最后,将提交的内容同步到远程版本库,也就是GitHub上:
git pull
git push origin master
【或者>>>git push origin master(因项目而异)】
同步完成后,刷新一下HelloWorld版本库的主页,就会看到刚才提交的那些文件已经存在了。
将提交的内容同步到远程版本库时经常会遇到如下错误:Failed to connect to github.com port 443: Timed out
这里提供一种可能的解决方案:
windows搜索框中搜索“凭据”,打开凭据管理器,选择“Windows凭据”,新建一个如下格式的凭据,并保存即可(其中的用户名和密码分别是GitHub上的用户名和密码,地址为前面切记加上git)
如果这种方案不行,可以自行百度解决方案。
ok,以上便是全部内容了,如果对你有所帮助,记得点个赞哟~
参考链接:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。