git用法
常见的版本管理工具:svn、cvs、bitkeeper(linux源码最开始使用的是该版本管理工具,后来由大神linus重新开发了git作为linux源码管理工具)
git的三个区域概念:
工作区:版本控制的目录(用户编辑的文件)
暂存区:未提交的代码 .git/index(进行了跟踪但未提交的文件,add操作产生的文件)
版本库:.git(提交后的文件,commit产生的文件)
2.git的基本命令
git init 在任意文件夹下执行该初始化版本库,会产生一个.git的隐藏文件夹,该文件夹(即为版本库)下index文件对应暂存区
git add filename 添加文件到暂存区
git commit -m “message” 提交暂存区文件到版本库
git reset --hard HEAD^ 重置版本未上次提交的版本(取消最近一次提交)
git status 查看暂存区的状态
git diff 查看版本改动
git commit –amend修改上一次提交
git reset HEAD filename 取消暂存文件
git checkout – filename 取消对文件修改(危险操作)
git remote -v 查看远程仓库
git remote add name remoteurl 创建远程仓库别名
git clone remote -url 从远程仓库拉取数据
git fetch origin 从远程仓库抓取本地没有地的数据
git push origin master 将本地代码提交到远程仓库主分支上
git tag 列出版本标签
git tag -a tagname -m ‘message’ 添加标签
git show tagname 显示标签详细信息
git tag tagname-lw 创建轻量级标签,轻量级标签实际上就是一个保存着对应提交对象的校验和信息的文件
git branch branchname 创建分支
git branch 查看分支
git branch -v 查看分支最后一个提交信息
git checkout branchname 切换到其他分支上
git checkout -b branchname 创建分支并在切换到该分支
git merge branchname 合并分支到当前分支
git branch -d branchname (合并完成之后)删除分支
git mergetool 合并产生冲突时使用该命令引导解决冲突
git branch –merged 查看当前已合并分支
git branch –no-merged 查看未合并分支进度
git push origin remotebranchname 推送本地分支到远程仓库(在已经进行clone操作的情况下)
git pull origin master从远程主分区拉取数据
git push origin branchname 将本地分支推送到远程服务器上
git checkout --track origin/branchname 跟踪远程分支
git checkout -b localbranchname origin/remotebranchname 跟踪远程分支并在本地创建别名分支
git push origin :remotebranchname 合并远程分支到master
具体教程参考:https://git-scm.com/book/zh/v1/
3.github、gitlab、码云
都是基于git的远程管理仓库,一般公司开发如果代码不对外开放都会采取搭建gitlab服务器的方式来管理代码,码云在国内的地位相当于github在国外的地位
gitlab搭建参考:https://www.jianshu.com/p/947eaa90d6cf
4.git、github在idea中的配置
git配置
file==>settings==>Version Control==>git ==>path to git executeable 选择git安装目录下的git.exe==》test成功即可
代码拉取
vcs==》checkout from version control ==>git ==>填写仓库地址及存放目录==》clone
github
file==>settings==>Version Control==>github==>auth type==>填写用户名密码==》test
代码拉取
vcs==》checkout from version control ==>github ==>填写仓库地址及存放目录==》clone