git简易教程

简介: 本教程教你从头到尾你操作一遍git,你只需按照步骤进行就好,请你事先准备好一个gitee账号,创建好一个git仓库。前言:git的操作的几个方面仓库操作分支管理解决冲突版本的回退和前进仓库管理本地有项目,关联到远程仓库打开终端,window打开git bash,进入你想要创建项目的目录或者已将创建项目的目录,执行一下命令。

本教程教你从头到尾你操作一遍git,你只需按照步骤进行就好,请你事先准备好一个gitee账号,创建好一个git仓库。

前言:git的操作的几个方面

  1. 仓库操作
  2. 分支管理
  3. 解决冲突
  4. 版本的回退和前进

仓库管理

本地有项目,关联到远程仓库

  1. 打开终端,window打开git bash,进入你想要创建项目的目录或者已将创建项目的目录,执行一下命令。
  2. git init 初始化git仓库
  3. git remote add origint https://gitee.com/huruqing/gitdemo.git 关联远程仓库(地址换成你自己的就行)
  4. git add . 把所有文件添加到版本里
  5. git status 查看状态
  6. git commit -m'备注信息' 提交修改
  • git commit -a -m"备注信息" add和commit连着写
  1. git push origint master 会出现下面的错误提示


    img_b75d28e72e85cf1b892694d940eacaf0.png

    一般是由于远程仓库上有内容,解决的办法有两种:
    git push origin master -f
    本地强制上传到远程,把远程的覆盖
    git pull --rebase origin master
    拉取远程的文件把本地的覆盖,再上传

  2. git push origin master -u 加上-u后面再提交只需要git push就可以了,不需要再加上分支名称

本地没有项目

  1. git clone https://gitee.com/huruqing/gitdemo.git@git 把远程的仓库克隆到本地。
  2. 进行像上面的那些仓库操作,不过首次提交的时候就不需要加 -f,因为你是直接clone的项目

其他操作

  1. git remote remove origin 取消远程仓库关联
  2. rm .git -rf 删除仓库

分支管理

  1. git checkout -b dev 创建并切换到dev分支
  2. git branch查看分支
  3. git checkout master 切换分支到master
  4. git merge dev -m"合并分支到主干" 合并分支dev到master
  5. 把主干代码同步到分支
  • git checkout dev 切换到分支
  • git merge master -m"合并主干到分支"
  • 如果出现 fatal: refusing to merge unrelated histories,意思是这两个分支没有共同的祖先,需要这样去合并或者拉取
    git merge dev --allow-unrelated-histories
  1. git branch -a 查看所有分支
  2. git fetch origin dev:dev 把远程分支dev同步到本地分支dev
  3. git branch -d dev 删除dev分支
  4. git push origin -d dev 删除远程的dev分支

冲突处理

由于多人同时进行开发,有时候会同时修改一个文件,或者多分支开发,合并的时候就很容易引发冲突,下面是一个制造冲突和解决冲突的例子。

  1. 为了方便我们看得清楚,把所有内容删除
  2. 在master分支,创建index.js
// index.js
// 创建对象
function Person(name, age) {
    this.name = name;
    this.age = age;
}
var p = new Person('张三丰',100);
  1. git checkout -b dev 创建分支dev ,这时候主干和分支的代码都是一样的

制造冲突

  1. 把分支上的代码改成下面这样子,然后提交并推送
// 工厂模式
function Person(name, age) {
    var obj = new Object();
    obj.name = name;
    obj.age = age;
    return obj;
}
var p = Person('张三丰', 100);
  1. 把主干代码修改成下面这样子的,然后提交并推送
// 创建对象
function Person(name, age) {
    this.name = name;
    this.age = age;
}
Person.prototype.say = function() {
    console.log(this.name);
}
var p = new Person('张三丰',100);
  1. 合并dev分支到主干 git merge dev -m"xxxx"
  2. 冲突出现,代码如下:
// 工厂模式
function Person(name, age) {
    var obj = new Object();
    obj.name = name;
    obj.age = age;
    return obj;
}
<<<<<<< HEAD
Person.prototype.say = function() {
    console.log(this.name);
}
var p = new Person('张三丰',100);
=======
var p = Person('张三丰', 100);
>>>>>>> dev

其中<<<<<<< 和 =======之间的代码是当前分支(也就是master分支)的修改,=======和>>>>>>>之间的代码是dev分支上的修改
我们需要根据我们自己的情况去消除冲突,我们可以选择保留主干上的修改或者是分支上的修改。消除冲突之后,再执行添加、提交、推送的动作。

版本的前进和回滚

  1. git log 和 git log --pretty=oneline 查看版本信信息


    img_112b8a2ee1b377162f7100355794b5a7.png
    image.png
  2. 如果我们要回退到aaa这次操作提交上来,我们只需要将id复制一下,然后执行下面命令即可,版本的id每个人都会不一样
    git reset --hard e55640863f0eb141e0857761f0268c61121c07ac
  3. 版本回退之后,如果想再回到现在,你只需要记住你要回到的id即可使用同样的命令回到现在
  4. 如果不记得版本id,还可以使用git reflog来查看你提交的历史记录,从中找到版本的id,再进行reset操作

其他

每次git push我们都需要输入账户密码比较麻烦,想要免掉这一步,请看文章
码云gitee添加公钥

目录
相关文章
|
11天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
36 0
Git教程:深入了解删除分支的命令
|
29天前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
33 0
|
2月前
|
安全 开发工具 git
git使用教程
git使用教程
47 0
|
6月前
|
开发工具 数据安全/隐私保护 git
百度搜索:蓝易云【Mac 安装homebrew Mac安装Git教程。】
现在,您已成功在Mac上安装了Homebrew和Git。您可以使用Homebrew安装其他软件包,并使用Git进行版本控制和代码管理。 希望这些信息对您有所帮助!如果您有任何其他问题,请随时提问。
123 0
|
6月前
|
自然语言处理 Java Go
项目总监必看:如何利用Git深度统计团队代码贡献?多语言实践教程揭秘!
项目总监必看:如何利用Git深度统计团队代码贡献?多语言实践教程揭秘!
144 0
|
5月前
|
存储 算法 开发工具
Git的入门详细教程
Git的入门详细教程
|
5月前
|
存储 Linux 网络安全
git教程
git教程
107 0
|
27天前
|
程序员 开发工具 git
好程序员Git入门到精通教程
本课程主要通过命令行和idea来介绍Git的安装、仓库创建、工作流、远程仓库、克隆仓库、标签管理和分支管理等Git的主要内容。 另外关于GitHub的使用介绍也有完整的说明和使用,接轨生产环境使用方式。
9 1
好程序员Git入门到精通教程
|
1月前
|
存储 算法 开发工具
|
2月前
|
存储 开发工具 git
Git 教程:解密 .gitignore 文件、合并分支、解决冲突、及 Git 帮助
如果你忘记了命令或命令的选项,你可以使用 Git 帮助。 在命令行中,有几种不同的使用帮助命令的方式: git command -help - 查看特定命令的所有可用选项 git help --all - 查看所有可能的命令 让我们看看不同的命令。
210 3