git使用教程

整体框架

具体过程

代码操作

  • 打开Git Bash,首先设置用户信息

    1
    2
    git config --global user.name "用户名"
    git config --global user.email "邮箱"
  • 查看配置信息

    1
    2
    git config --global user.name                           //查看用户的用户名
    git config --global user.email //查看用户的邮箱,这邮箱不一定是真实存在的
  • 初始化git仓库

    1
    git init
  • 新建一个文件

    1
    2
    3
    touch 文件(带后缀)
    示例:
    touch file01.txt
  • 查看当前文件的状态

    1
    git status
  • 将文件从工作区转到暂存区

    1
    2
    3
    git add 文件名(带后缀)

    将所有的文件提交到暂存区,可以使用git add . // .是通配符
  • 将文件从暂存区转到本地仓库

    1
    git commit -m "注释"                                   //git commit即可提交,-m 可以添加注释,便于理解
  • 查看提交日志

    1
    2
    3
    4
    5
    6
    7
    8
    git log

    //可以添加限制条件,使其满足自己的查看需要

    git log --all //显示所有分支
    git log --pretty=oneline //将提交信息显示为一行
    git log --abbrev-commit //使输出的commitid更简短
    git log --graph //以图的形式显示
  • 版本回退

    1
    2
    git reset --hard commitid
    commitid可以使用git-log或者git log查看,已经删除的记录可以使用git reflog查看
  • 将文件添加至忽略列表(不用 git 管理)

    1
    2
    3
    4
    5
    我们可以在工作目录中创建一个 .gitignore 文件,列出要忽略的文件模式

    可以使用通配符, * 匹配的内容
    示例:
    *.txt,所有以.txt结尾的文件
  • 直接在Git Bash打开编辑器

    1
    vi 文件名(带后缀)
  • 查看分支

    1
    git branch
  • 创建分支

    1
    git branch 分支名
  • 切换分支

    1
    git checkout 分支名            //切换到这个分支名下面
  • 创建并切换到一个新的分支 ==√==

    1
    git checkout -b 分支名        //创建这个分支并且切换到这个分支下
  • 合并分支

    1
    2
    3
    4
    5
    1、首先第一步,先切换到你的主线(主分支)上去

    2、执行git merge 分支名称,将这个分支名称上面的修改合并到主线(主分支)上

    3、退出编辑,方式:esc——>:wq——>回车,即可退出编辑完成合并
  • 删除分支

    1
    2
    3
    4
    5
    git branch -d 分支名                //删除分支时,需要做各种检查

    git branch -D 分支名 //不做任何检查,直接删除

    注:就是说,你的一个分支的修改不需要了,但是没有提交到主分支,他会误以为你误删而出错,此时可以使用D强制删除

解决冲突(两个人改了同一个代码文件的同一行代码)

两个分支上同时做了修改,可能会产生冲突。同时修改了同一个文件的同一行,需要手动解决冲突

1
2
3
4
5
1、手动解决文件中冲突的地方

2、将解决完冲突的文件加入暂存区

3、提交到本地仓库
  • 以精简的方式显示提交记录

    1
    git-log
  • 配置SSH公钥

    1
    2
    3
    4
    5
    6
    7
    8
    1、生成SSH公钥
    ssh-keygen -t rsa

    2、查看获取公钥
    cat ~/.ssh/id_rsa.pub

    3、验证是否配置成功
    ssh -T git@gitee.com
  • 远程仓库的添加、查看、推送

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    1、添加
    git remote add <远程仓库名> <仓库路径>
    git remote add 仓库名(例如:orign) 建立的仓库的SSH

    2、查看是否添加成功
    git remote

    3、推送到远程仓库
    git push <远程仓库名><远程仓库分支名><本地分支名>
    git push orign master:master 将本地的master推送到远程仓库的master分支,当两者名称相同时,可以只写一个就行
  • 查看远程仓库分支和本地分支的对应关系

    1
    git branch -vv
  • 将本地分支和远程仓库分支对应起来

    1
    git push --set-upstream 远程仓库名(例如:origin) 远程分支名(例如:master):本地分支名(例如:master)
  • git push 简洁地推到远程分支

    1
    git push                          //设置好上面的对应关系之后
  • 将远端仓库克隆到本地

    1
    git clone 远程仓库的SSH 本地克隆的文件名(如果不写,则取SSH 中.git前面的那一小段做文件名)

  • 将远程仓库的内容抓取和拉取

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    1、抓取
    规范:git fetch 远程仓库名 远程分支名
    示例:
    git fetch //不指定的话,所有的分支更新内容都要进行抓取
    git fetch origin master //只抓取origin master里面的更新

    注:抓取指令就是将仓库里的更新都抓取到本地,不会进行合并

    2、合并
    git merge 远程仓库名/远程分支名
    示例:
    git merge origin/master


    **上面的两步可以合并为一步完成:
    拉取:
    规范:git pull 远程仓库名 远程分支名
    git pull //不指定的话,所有的分支更新内容都要进行拉取
    git pull origin master //只拉取origin master里面的更新

    注:拉取指令就是将仓库里的更新都抓取到本地同时进行合并,相当于fetch + merge

解决冲突(两个人改了同一个代码文件的同一行代码)

两个分支上同时做了修改,可能会产生冲突。同时修改了同一个文件的同一行,需要手动解决冲突

1
2
3
4
5
6
7
1、手动解决文件中冲突的地方

2、将解决完冲突的文件加入暂存区

3、提交到本地仓库

4、推送到远程仓库