Git关联Github和码云并利用IDEA内置工具
Git关联Github和码云并利用IDEA内置工具
REAIGit与Svn对比
Svn是集中式版本控制系统,必须联网才能工作。在一定成程度上可以看到其他开发人员在干什么,管理员也可以很轻松的掌握每个人的开发权限。
缺点:服务器单点故障;容错性差
Git是分布式版本控制系统,每人的电脑上有一个完整的本地仓库,多人协作时只需要把各自的修改推送给对方
初次使用配置
安装git sudo apt-get install git
配置用户名和邮箱 git config --global user.name "用户名"
git config --global user.email "邮箱"
生成ssh公匙、私匙 ssh-keygen -t rsa -C "your_email@youremail.com"
三次回车
将id_rsa.pub的内容追加到authorized_keys 中 cat /home/wliana/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
其中id_rsa 为私钥,id_rsa.pub 为公钥
在github,进入Account Settings,左边选择SSH Keys,Add SSH Key, 粘贴cat /home/deepin/.ssh/id_rsa.pub
获取的key
测试下是否配置成功 ssh -T git@github.com
按提示输入 yes 连接成功
Github和本地Git关联
远程仓库
在Github上新建一个远程仓库,最好不要勾选README.md
由于已经配置了RSA,可以直接使用SSH协议
本地仓库
可参照上图命令
- 进入文件夹,使用git init变成可Git管理的库(或者在文件夹中新建一个.git文件夹)
- 将项目粘贴到仓库中(粘贴后可以通过git status来查看你当前的状态)
- git add . 把该目录下的所有文件添加到仓库(注意点是用空格隔开的)
- git commit -m提交注释把项目提交到仓库
关联及推送
$ git remote add origin git@<用户名>/<目标仓库>.git
关联好之后我们就可以把本地库的所有内容推送到远程仓库
首次推送使用:$ git push -u origin master
新建的远程仓库是空的,所以要加上-u
远程仓库里面有了内容之后使用:$ git push origin master
同时关联到码云
基于上面github不太稳定的原因,打算同时关联到码云。
注册并添加公钥,创建仓库
下面参照官方文档 如何保持码云Gitee和Github 同步更新
查看目前关联的远程仓库,发现有一个orgin , 这是之前关联到github上的,为了便于管理,删掉并重命名
先删除已关联的名为origin的远程库 git remote rm origin
通过 git remote add <name> <url-of-remote>
指令来添加远程仓库
用git remote -v
查看远程库信息,可以看到两个远程库
返回码云仓库,已更新
流程及命令
工作区域
Git分为三个工作区域:工作区 Working Directory
、暂存区 Staging Area
、GIT仓库 repository
工作区(Working Directory)就是源码所在目录
隐藏目录.git
,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。
文件状态
Untracked 未追踪
,即新建一个文件,还没有被git追踪,不会到版本库内。Unmodified 未修改
,该文件在git版本库内,但是还没有被修改。modified 已修改
,该文件在git版本库,已经修改,但还没有暂存。Staged 已暂存
,有修改的文件已经通过git add
添加到暂存区
。
仓库内文件的状态可以通过git status
查看。
分支管理
查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名
或者git switch 分支名
创建+切换分支:git checkout -b 分支名
或者git switch -c 分支名
合并某分支到当前分支:git merge 分支名
删除分支:git branch -d 分支名
假设分支为dev, 合并Fast-forward
是“快进模式”,也就是直接把master
指向dev
的当前提交,所以合并速度非常快。
常用命令
命令思维导图,来自文章 git常用操作命令总结(思维导图)
忽略特殊文件
在Git工作区的根目录下创建一个特殊的.gitignore
文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
不需要从头写.gitignore
文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore
忽略文件的原则是:
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的
.class
文件; - 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
在IDEA中使用Git
在工具栏找到VCS ,新建Git目录
或者直接打开一个已经初始化了的工作区目录
这时IDEA右上角多了一些git操作
分别是pull 拉取更新;commit 提交;历史版本;回滚
在commit时就可以勾选需要同步的文件
history会在下面出现一个管理界面
同时VSC内容也发生了变化
这样就可以直接使用IDEA内置的工具来进行操作了