您现在的位置是:首页 >技术交流 >Git简易教程网站首页技术交流

Git简易教程

ThXe 2024-06-17 10:25:04
简介Git简易教程

安装与配置

教程链接

代码上传到远程仓库

在这里插入图片描述
workspace:当前所在的工作目录
stagingarea:修改暂存区
loacl repository:本地仓库
remote respository :远程仓库
我们首先在workspace目录编写代码、修改文件,然后需要使用add方法先将修改的部分添加到暂存区,commit方法添加到本地仓库。最终使用push方法上传代码。

总流程:
git init //将当前目录初始化为git可管理目录,生成.git目录里面包含文件相关信息
git add .//将当前目录下的所有修改文件提交至暂存区
git commit -m "first commit"//将暂存区的内容添加至本地仓库,并注释“first commit”
git remote add origin https://github.com/liyinchigithub/Git-commands.git//绑定所需要的远程仓库
git push origin master//提交代码到master分支
git add:
git add Test//添加指定目录到暂存区,包括子目录:
git add README hello.js //添加2个文件到暂存区
git add .//添加当前目录下的所有文件到暂存区:
git commit:
git commit -m "提交内容备注"
git push:
git push origin master//将本地的 master 分支推送到 origin 主机的 master 分支。
git push --force origin master//本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
git push <远程主机名> <本地分支名>:<远程分支名>
remote:
git remote add origin https://github.com/liyinchigithub/Git-commands.git//绑定相关远程库

分支

创建一个分支相当于新建一个工作节点,不会影响其它已有代码看,如图新建了一个new分支
在这里插入图片描述

branch:
git branch //查看当前所有分支
git branch new//创建一个新分支new
git checkout new//切换到 new
git branch -d new//删除new分支
git push origin --delete new//删除远程代码库的new分支

分支合并

假设两个人同时在一个项目上面编写代码,A进行base分支,B进行new分支,他们都进行了一下代码更改,项目进展如下
在这里插入图片描述

如果将new添加到base上即为图1,将base添加到new中如图2
在这里插入图片描述

合并原理为三项合并,假设当前是将new合并至base中
在这里插入图片描述
这个base 为他们最近公共祖先,Mine为当前base,Yours为now分支合并后代码为

Paint(”hello“);(蓝色节点)

这个样子就是发生冲突了,是无法合并的,需要修改
在这里插入图片描述

git checkout new//切换到new工作节点
git pull//拉取相关代码并进行编码
git checkout master//切换为主分支
git merge new//将new分支合并到master分支
git push -u origin master//推送至远程库

回滚

git log // 查询要回滚的 commit_id
 
git reset --hard commit_id // HEAD 就会指向此次的提交记录
 
git push origin HEAD --force // 强制推送到远端
git reset HEAD^ hello.js //回退hello.js的上个版本
git reset --hard origin/master//回退成线上版本

撤销提交

git log // 查找需要撤销的 commit_id
 
git revert commit_id  // 撤销这次提交

日志

git log --author//查看指定作者
git log --reverse //翻转
git log --oneline --before={3.weeks.ago} --after={2020-04-23} --no-merges//查看指定日期
git log --graph//查看分支合并情况
git reflog//查看commit日志

删除修改文件

git rm <file> // 从工作区和暂存区删除某个文件
 
git commit -m "" // 再次提交到仓库
git checkout -- <file>//暂存区覆盖工作区
git rm --cached <file>//工作区不做改变

从远程仓库拉取代码

git pull origin
git pull https://github.com/liyinchigithub/Git-commands.git

对比暂存区和工作区

git status

标签

版本可能会有多次提交,我们可以把某个提交打上标签,作为一个里程碑(version)

git add .
 
git commit -m "first commit"
 
git push origin master
 
git push origin v1.0
git push origin :refs/tags/v1.0//删除分支
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。