1.git的安装:
可以参考其他人的安装,省流就是一直next,直接install就可以【狗头保命】
安装成功后可以通过鼠标右键点击open git bash here进入编辑框,在编辑框内输入
git version
来查看当前git的版本
2.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 版本号版本穿梭
2.1设置用户签名:
注:用户签名作为区分用户,查看是谁提交的代码,与登录的账号密码无关
按照命令设置成功即可,命令如下:
git config --global user.name 用户名
git config --global user.email 邮箱
设置成功后可以在c盘用户目录下找到对应的用户文件夹里面的.gitconfig文件,双击用vscode打开后如下图所示:
2.2初始化本地库:
git init
【 在对应的文件夹里通过鼠标右键点击open git bash here进入编辑框,在编辑框内输入上述命令】(中括号里面的语句在后面统称为通过命令)得到下面的结果:![](https://i-blog.csdnimg.cn/direct/a20bfe611a164ad6a1bba2007861d110.png)
在对应文件夹打开隐藏目录后可以看见对应的.git文件:
显示对应的文件即表示初始化成功。
2.3查看本地库的状态:
git status
初始化后查看本地库的状态没有意义,在此我添加了一个.idea文件夹,我们在通过命令查看得到下面的结果:![](https://i-blog.csdnimg.cn/direct/e35f530626844d189407ed8a8568c236.png)
2.4 添加缓存区:
git add 文件名
为了方便对比,在对应的文件区我又添加一个test文件,并通过添加命令和查看命令得到了下图(与查看命令截图一致的不做过多表述):![](https://i-blog.csdnimg.cn/direct/3cb19f87e630458fadc3700dc0e2bfef.png)
2.5提交本地库
git commit-m"日志信息"文件名
现在将test文件提交到本地库上,通过提交命令和查看命令得到了下图:
注:依照上图可以发现:当我们使用查询语句的时候,没有添加到缓存区的文件会显示红色,添加到缓存区了但是没有提交到本地库的会显示绿色,而提交到本地库后则不会显示。
2.6文件修改
当我们对文件信息进行修改,如在test.txt里面添加一个我好帅,文件则会显示修改
重写提交流程跟上述一致,这里不做过多赘述,需要的可以往前查看2.4,这里可以发现第二次提交的版本号发生了变化,发生了一个改变,两行数据进行了提交,一行数据进行了删除
2.7查看版本
git reflog
git log
这里需要注意的是上述俩条语句都可以查看版本信息,reflog为精简版的,log为详细的版本信息,具体的代码区别如下所示:
2.8版本穿梭
git reset --hard 版本号
当我们修改代码上线发现了bug,需要进行版本回滚的时候就要执行上述代码:![](https://i-blog.csdnimg.cn/direct/8ec2e1948be7419eb17a1bcea67f6c8e.png)
先查询需要恢复的版本号,接着回滚就可以了
我们可以通过版本查看来进行查看
通过上述学习,在本地的练习我们就完成了
3.分支
对于分支的理解,我认为就是一个个副本,你要开发的功能在对应的分支进行折腾,并行开发好后就可以合并在一起,然后上线。
分支的操作:
命令名称作用git branch分支名创建分支git branch -v查看分支git checkout 分支名切换分支git merge 分支名把指定的分支合并到当前分支上
3.1查看分支:
git branch -v
3.2创建分支:
git branch 分支名
3.3切换分支:
git checkout 分支名
3.4合并分支:
git merge 分支名
为了方便展示,已经提前在hot-fix分支的test.txt文件中添加了内容,并完成了提交本地库
注意:合并的话是将合并对象合并到本分支上,会进行覆盖处理,即是master中的test.txt变得跟hot-fix中的一样。
3.5冲突合并:
冲突产生的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。git无法替我们决定要使用哪一个,必须人为确定新代码内容。
前置操作:我们在master分支修改test.txt文件在第三行添加了master,进行了本地库的提交,我们通过切换分支到hot—fix分支并修改test.txt文件在第四行添加了hot—fix,实现了上述说的两个分支在同一个文件的同一个位置有两套完全不同的修改。
我们执行合并语句:![](https://i-blog.csdnimg.cn/direct/9b760be267824dcca8f8e8750dc60d4a.png)
我们得到了合并冲突,这时需要vim进入合并语句里面,或者直接在外部打开文件
手动解决为:确定需要保留的内容,删除不需要的内容,以及那些无用的区别符号
对文件进行保存,接着进行添加和提交
注意:这里提交的时候不能添加test.txt,因为处在合并状态中,添加了会出现错误,如下图所示:
4.远程仓库
命令名称作用git remote -v查看当前所有远程地址别名git remote add 别名 远程地址起别名git push 别名 分支推送本地分支上的内容到远程仓库git clone 远程地址将远程仓库的内容克隆到本地git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
4.1创建远程仓库别名
查看当前所有远程地址别名
git remote -v
给远程地址起别名
git remote add 别名 远程地址
4.2推送本地库到远程库
git push 别名 分支
上传成功后即可在gitee看见对应的分支文件
4.3拉去远程库数据到本地库
git pull 别名 分支名
我们在gitee中直接对test.txt文件进行了修改,接着在从终端进行拉取,得到了下面的截图;
4.4克隆远程仓库
git clone 远程地址
注:如果你是公开的库,在克隆的时候是无需登录账号的
5.团队协作
5.1队内协作
队内协作需要先把队伍成员添加到库里面,这就需要组长创建库,创建完成后按照上图点击,得到如下页面,即可按照自己的需求邀请团队成员了:![](https://i-blog.csdnimg.cn/direct/5372060efeed460085dc21ef1188a66b.png)
因为账号有限,这里无法展示接收入库,大致就是队友登录gitee后,接收邀请即可。
5.2跨团队协作
受限于账号缘故,该部分内容将在后续添加(如果我不懒的话【doge】)
6.添加内容
6.1一次添加整个目录到缓存区
git add .
效果跟2.4一致,属于便捷操作,可以一次性将当前目录下的所有文件都添加到缓存区
6.2 缓存区内容回退到工作区
git reset HEAD 文件名称
通过上述命令,可以将已经提交到缓存区的文件回退到工作区,也就是从小绿变成小红
6.3工作区内容回退(不推荐)
git checkout 文件名称
通过上述命令,可以将工作区的内容进行回退(一旦回退,内容就消失了,永久操作,不推荐使用)语句跟切换分支的关键字一致,所以把这个添加了进来,仅作了解
6.4ubuntu系统git初始化
另外添加一个ubuntu系统本地库的初始化教程
首先我们要在终端进行git的添加,具体语句为:
sudo pip install git
添加完git后,我们在终端cd到目标地址,并执行对应的初始化
cd Desktop/test
git init
上述的Desktop/test是我测试用的路径,请读者根据自己的需要cd到目标地址,如果是初学者cd地址不清楚的话,也可以先到目标地址,接着右键,然后左键点击在此打开终端,接着进行初始化
当初始化完成后,进行个人信息的配置在对应的终端输入命令:
git config user.name '张三'
git config user.email 'zhangsan@163.com'
输入完成后可以在之前的.git文件内的config文件中查看对应的信息
到此恭喜你已经完成了ubuntu系统git的初始化,可以进行本地库的操作了,其余命令跟window系统一致,这里不做过多赘述
版权归原作者 逍 朽 所有, 如有侵权,请联系我们删除。