1.Git
Git介绍 分布式版本控制工具 VS 集中式版本控制工具
-
Git是一个免费、开源的分布式版本控制,性能优于其他的版本控制工具
-
集中式版本控制工具
CVS、SVN、VSS…
有一个单一的、集中管理的服务器,保存所有文件的修订版本,协同工作的人可以通过客户端连接到这台服务器,取出最新的文件或者提交更新
优点:每个人都可以看到其他人在做些什么,管理员可以掌控每个开发者的权限。
缺点:如果中央服务器宕机、所有人都无法更新,也就无法协同工作
-
分布式版本控制工具
Git、Mercurial、Bazaar、Darcs…
在本地就可以进行版本控制,不需要提交到中央服务器,每个客户端保存的都是整个项目,包括修改记录
-
Git工作机制
历史版本 -> 本地库
临时存储 -> 暂存区->git commit
写代码 -> 工作区->git add
-
Git和代码托管中心
代码托管中心时基于网络服务器的远程代码库,一般称为远程库
-
Git常用命令
命令名称 作用 git config --global user.name 用户名 设置用户签名 git config --global user.email 邮箱 设置用户签名 git init 初始化本地库 git status 查看本地库状态 git add 文件名 添加到暂存区 git commit -m "日志信息"文件名 提交到本地库 git reflog 查看历史记录 git reset --hard 版本号 版本穿梭 在一个文件夹中右键,选择GIt Bash Here,执行git init命令,会初始化本地库,使用git status命令查看当前状态,使用git add文件名添加到暂存区,git rm 文件名 从暂存区删除
-
分支
在版本控制过程中,同时推进多个任务,为每一个任务,我们可以创建单独的分支,使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行
分支的好处:同时并行多个功能开发,提高开发发效率
各分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响,失败的分支删除重更新开始即可
命令名称 作用 git branch 分支名 创建分支 git branch -v 查看分支 git checkout 分支名 切换分支 git merge -m"日志信息" 分支名 把指定的分支合并到当前分支上 -
冲突
合并分支时,两个分支在同一个文件的同一个位置有两套 完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容
2.GitHub
命令名称 | 作用 |
---|---|
git remote -v | 查看当前所有远程地址别名 |
git remote add 别名 远程地址 | 起别名 |
git push 别名 分支 | 推送本地分支上的内容到远程仓库 |
git clone 远程地址 | 将远程仓库的内容克隆到本地 |
git pull 远程库地址别名 远程分支名 | 将远程仓库对于分支最新内容拉下来后与当前本地的分支直接合并 |
-
创建远程库
打开github官网、登录。右上角有一个+号,new repository,输入repository name就创建成功了
-
代码推送 push
将本地的代码推送到github上
-
代码拉取 pull
-
代码克隆 colne(不需要登陆)
- 拉取代码
- 初始化本地仓库
- 创建别名
-
跨团队协作
Settings->Collaborators->add people
-
SSH免密登录
打开C盘->git bash here ->输入 ssh-keygen -t rsa(加密算法) -C zxx(描述)
然后在C盘、用户下就可以看到.ssh目录,打开id_rsa.pub,复制
打开prohub,右上角头像,Settings->SSH and GPG keys 添加进去即可
-
Idea中集成GitHub
- 配置.ignore文件
- 打开idea->settings->Version Control->git->选择git.exe路径
- idea最上面有一个VCS(Version Control Setting)->Create Repository->选择路径
- idea就可以自动初始化了