1. Git和SVN
Svn- 集中式
GitLab,远程仓库
Github - 一个网站,提供给用户空间创建git仓储,托管开源代码。
2. 最新下载
https://git-scm.com/download/win
安装略。
3. Git常用命令
克隆,ssh key
git clone git@10.10.24.52:minxin/gitlearning.git
git clone http://10.10.24.52/minxin/gitlearning.git
建立dev分支
git checkout -b dev
添加要提交的文件
gitadd -A 提交所有变化
gitadd -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
gitadd . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
添加备注,提交
git commit -m "add test1 file"
提交日志
git log
回退
git reset --hard HEAD^ 回退上个版本
git reset --hard HEAD^^ 回退上上个版本
git reset --hard HEAD~10 回退前10个版本
git re
set --hard ea2742345e76a094d5372e7827b288544f772f4b
回退到某个版本
--soft 选项,保留本地修改的文件。
命令历史
$
gitreflog
上传到远程
git push -u origin dev
//查看origin位置
git remote -v
删除分支
git branch –d name
删除远程分支
git branch -r -d origin/branch-name
打标签
git tag v1.0
以创建带有说明的标签,用-a
指定标签名,-m
指定说明文字:
git tag -a v0.1 -m"version 0.1 released"3628164
创建一个特殊的.gitignore文件
把要忽略的文件名填进去,Git就会自动忽略这些文件。
4. 分支策略
特性分支(Feature branches)
发布分支(Release branches)
创建feature分支
1、当开始工作于一个新功能时,从develop分支创建新的分支:
$git checkout -b myfeature develop
Switchedto a new branch "myfeature"
2、进行开发,修改文件
......
3、将完成的feature并入develop
$git checkout develop
Switchedto branch 'develop'
$git merge --no-ff myfeature
Updatingea1b82a..05e9557
(Summaryof changes)
--no-ff用于避免feature分支中历史信息的丢失
4、删除feature分支
$git branch -d myfeature
Deletedbranch myfeature (was 05e9557).
5、推送到远端服务器
$git push origin develop
创建发布分支
主要用途:发布前建立新版本号
$git checkout -b release-1.2 develop
Switchedto a new branch "release-1.2"
$./bump-version.sh 1.2
Filesmodified successfully, version bumped to 1.2.
$git commit -a -m "Bumped version number to 1.2"
[release-1.274d9424] Bumped version number to 1.2
1files changed, 1 insertions(+), 1 deletions(-)
创建一个新的分支并切换进来以后,我们修改版本号。这儿的 bump-version.sh 是一个虚构的脚本,被用来修改工作区中的一些文件以反映出新版本。(当然,这也可以是手动修改的)。而后,修改后的版本号被提交。
5. IDEA中的Git
Pull和push