git 会了clone,pull,push,建分支,合并,暂存,commit,,rollback,merge就可以了,配合idea软件使用,就超级棒了
缺点 事分两面,有好有坏。这么做显而易见的缺点是中央服务器的单点故障。如果服务器宕 机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。
分布式的版本控制系统出现之后,解决了集中式版本控制系统的缺陷:
我们本地安装了git,
打开这个可视化界面
这个就是工作区
代码托管中心是基于网络服务器的远程代码仓库,一般我们简单称为远程库。 ➢ 局域网 ✓ GitLab ➢ 互联网 ✓ GitHub(外网) ✓ Gitee 码云(国内网站)
在 Git Bash 终端里输入 git --version 查看 git 版本,如图所示,说明 Git 安装成功。
git安装成功,我们首先设置用户名称和邮箱,这个邮箱是随便起的,因为git不会验证这个邮箱;
我们使用前两个命令设置成功之后,我们如何查看自己是不是设置成功呢?
我们打开c盘,user文件夹里面,找到
打开这个文件
就可以看到刚才配置的写到了里面;
我们也可以在git里面用命令查
git config --global -l
说明:
签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能
够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,
否则无法提交代码。
※注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号
没有任何关系。
我们想要git管理我们的项目,必须要将我们的项目给了git,那么如果让git知道,要管理哪个项目呢?
举一个例子,我们有一个文件夹,我们想要git管理,那么我们就要进去这个文件夹,然后执行这个命令
我们首先创建一个文件夹
执行完命令,我们回去看文件夹
这个文件夹下多了一个这个;
进入到git管理的项目文件里面,再执行这个命令,就可以看当前项目的状态
我们在这个文件夹下创建一个文件
之后还是执行这个命令
我们可以把自己的文件先提交到暂存区,执行完这个命令,我们看看这个文件项目的状态,继续执行git status
也就是,变绿色,就相当于git追踪到了这个文件,这个文件已经放到了git的暂存区了;
人家git也提示你,不想把这个文件放到这个历史版本里面,在add之后,可以删除,删除的命令就是
git rm --cached test.txt
使用这个命令,将这个文件提交到本地库,并且有版本信息了
我们现在已经commit了,但是突然想要要修改文件 我打开这个文件,添加了几行,进行保存
在工作区打开
发现已经修改,我们使用git查看他的状态
我们重新add commit 之后
我们查看版本信息
比如我们对一个文件,进行了3次commit,但是想要第一次的,后面的不好,我想要返回第一个,咋办
我们使用命令 git log ,查看到历史版本,把版本号记下来,就是你想要回到的版本号记下来;
使用命令
git reset --hard 版本号
使用步骤总结: 1 使用git reflog查看你提交过的所有的版本 2 git reset --hard 回到你要到的版本号
只要回到对应的版本里面,就可以看到我们项目里面的东西已经变化了;
git branch -v
我们进入一个分支,在当前里面创建一个分支,就是对当前项目复制了一份
git checkout 分支名
切换过来的分支,里面的东西和主分支里面的是一模一样;
已经切换到分支了,在这个分支里面,将东西进行修改之后,进行add commit之后,我们可以看到版本已经生成
提示是这个分支进行提交的;
我们打开本地库,就可以看到里面的东西已经变为分支里面进行修改的了;
git merge 分支名
现在我们想要把分支里面的东西合并到master里面,我们就需要到master分支里面,执行命令
执行完以上的命令,我们就合并完成了,我们看看文件里面是不是已经合并过来的东西,已经合并成功;
我们现在在master里面修改了东西,想要合并到分支里面,操作是。。 1 先在master里面把文件修改,add commit 之后 2 切换到分支 3 将主的合并过来
总结: 想把A 合并到B,首先进入B ,执行合并A的命令
为什么会出现合并冲突?
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替 我们决定使用哪一个。必须人为决定新代码内容。
在文件里面展示的情况是
如果是代码,出现这种,完全不能运行,所以这个就是合并冲突了;
既然文件里面出现了那些符号,我们手动去掉,之后合并,合并的时候,就不要带项目名字了
这样在这个里面就修改成功了,另一个分支里面的东西没有变化;
登录到GitHub里面
在GitHub里面,找到这个
我们拉取的时候,给这个地址起一个别名,不要每次都使用那么长的连接了