1.git的安装:
下载:http://msysgit.github.io/
一直点击下一步就可以完成安装
2.创建代码仓库:
从windows里找到Git Bash打开(下面的命令都在这个窗口操作)
a.配置身份命令:(代码提交人)
git config --global use.name “XXX”
git config --global user.email “[email protected]”
查看配置身份是否成功命令:
git config --global use.name
git config --global user.email
b.给项目创建仓库,进入到该项目下:
cd C:\develop_WS\AS_demo\CoolWeather2
创建代码仓库命令:(该项目下会生成一个隐藏的文件夹.git文件夹,这个就是本地仓库。要删除本地仓,删除这个文件夹就可以了)
git init
查看命令:(查看该目录下所有的文件和文件夹)
ls -al
c.提交到本地库(.git文件)代码命令:
add:把想要提交的代码添加进来;
commit:真正的去执行提交操作;
添加单个文件命令:
git add 文件名
添加某个目录命令:
git add 目录名
添加所有文件命令:(add后面加一点)
git add . (在要提交的项目下执行此命令)
添加提交的描述信息:
git commit -m “描述信息”
3.忽略文件
bin目录和gen目录都是会自动生成的,不需要添加到版本控制里面。
在项目的根目录下创建名为.gitignore的文件,编辑内容为
bin/
gen/
4.查看修改内容命令:(在项目的根目录下)
查看发生改变的文件命令:
git status
查看具体改变的内容的命令:
git diff
只想查看单个的文件改变的内容命令:
git diff 文件路径下的文件名
(cd进入到项目录下C:/develop_WS/AS_demo/CoolWeather2/)
eg:git diff app/src/main/MainActivity.java
5.撤销未提交的修改:
MainActivity.java里做了修改,现在撤销:
chekout命令:(checkout命令只使用于没有执行过git add命令的的文件;通过git status来检查是否撤销成功)
git checkout app/src/main/MainActivity.java
如果是已经执行了add命令添加的,先执行reset取消添加命令,再执行checkout命令:(通过git status来查看)
git reset HEAD app/src/main/MainActivity.java
git checkout app/src/main/MainActivity.java
6.查看提交记录
log命令查看历史提交信息:(可看到每次提交记录包含提交id,提交人,提交日期,提交描述)
git log
只想查看记录历史中的一条记录:(记录的id,加上-1参数表示只想看到一行记录)
git log d105c5fb2a1d734f6c1f7e6e76700b2c369f1f1b -1
查看这条记录的具体修改的内容:(---:3个减号表示删除部分;+++:表示添加部分)
git log d105c5fb2a1d734f6c1f7e6e76700b2c369f1f1b -1 -p
7.分支的用法:
分支使得代码可以在主线和分支线上同时进行开发,且相互之间不影响。(如上线了一个1.0版本,接到新的需求,开发1.1版本,开发到一半,但是此时1.0版本出现一个bug,需立马修复,如果在1.1版本上修复会带有1.1版本的功能,不可取;此时可在1.0版本发布时创建一个分支,修复bug后发布新的1.0版本,又不会影响到1.1版本的继续开发;修复的bug还可以合并到主线上,这样1.1版本发布时就不会有同样的bug存在)
查看当前的版本库当中有哪些分支:(没有创建分支,就只有一个主线master)
git branch -a
创建一个分支:
git branch 分支名
创建一个分支version1.0后:从主线切换到分支命令:
git checkout version1.0
Version1.0上修复了一个bug,master主线上也要解决这个bug,可以用merge命令来完成合并操作:
git checkout master (切换到主线)
git merge version1.0 (将version1.0合并到主线;此时还有可能出现代码冲突,此时就只能去代码中解决冲突,git在这里就没法解决了)
删除分支命令:
git branch -D version1.0
8.与远程版本库协作(如:github上的git库)
现在有github上的git库地址:https://github.com/chao126ning/coolweather.git
将远程版本git库下载到本地(本项目)命令(本项目目录下执行此命令):
git clone https://github.com/chao126ning/coolweather.git
进行代码修改和提交到本地git库后,将本地修改内容提交到远程版本git库上
git clone https://github.com/chao126ning/coolweather.git master (远程版本git库上的主线)
将远程版本git库的修改同步到本地命令:fetch命令和pull命令
git fetch origin master (远程版本git库同步到本地,并不会合并到任何分支,而是会存放到 https://github.com/chao126ning/coolweather.git/master分支上)
fetch:
查看远程版本库的修改命令:
git diff https://github.com/chao126ning/coolweather.git/master
合并到本地库的其它分支上,调用merge命令将https://github.com/chao126ning/coolweather.git/master分支修改合并本地库上即可:
git merge https://github.com/chao126ning/coolweather.git/master (在相应主线或分支下执行)
Pull:(pull命令是相当于将fetch和merge这两个命令放在一起执行了)
git pull https://github.com/chao126ning/coolweather.git/master
9.通过git将代码托管到github上
Git:版本控制的
Github:代码托管网站(https://github.com/)
在github下创建git库的步骤:
进入到github页面1.New repository按钮创建一个版本库;2.在Repository name下命名版本库;3.添加一个Android项目类型的.gitignore文件;4.使用Apache v2 License来作为项目的开源协议;5.然后点击Create repository按钮完成项目的远程版本git库的创建。
将远程版本git库下载到本地(本项目)命令(本项目目录下执行此命令):
git clone https://github.com/chao126ning/coolweather.git
本地库下会有个名为coolweather的的文件夹,cd进入到该文件夹下,ls -al命令查看发现包含.gitignore,LICENSE和README.md三个文件。将这目录下所有文件复制到项目的根目录下,将coolweather文件夹删除掉。
接下来提交步骤:
git add .
git commit -m “提交内容描述。”
git push https://github.com/chao126ning/coolweather.git master
最后github会要求输入用户名和密码来进行提交身份校验。