git 学习

点击去我的博客看看吧>-<


先看几张图,简单理解一下 Git 。部分图片来自尚硅谷的 Git教程

  1. git 在本地的一个流转

git 学习

  1. git 在代码托管中心的流转

git 学习

git 学习

1. 本地库操作

1. 初始化命令:git init

git 学习

2. 设置签名

  1. 用户名

    Email 地址

    命令

    1. 项目级别:仅在当前本地库范围内有效
      1. git config user.name xxx
      2. git config user.email [email protected]
      3. 信息保存的位置在项目下的 .git/config 里面
    2. 系统用户级别:登陆当前操作系统的用户范围
      1. git config --global xxx 类似上面
      2. 在系统本地(当前用户的家目录)的 .gitconfig 里面

git 学习

3. 常用命令

  1. 查看工作状态:git status

git 学习

  1. 新建一个文件

git 学习

  1. 添加进暂存区

git 学习

  1. commit 至本地库,不加 good.txt 即文件名,默认为所有的 commit 文件加上一样的注释

git 学习

2. 版本信息

1. git log

​ 查看完整版本信息HEAD是指向当前版本的指针

2. git log --pretty=oneline

​ 每条日志只显示一行

3. git log --oneline

4. git reglog

​ 可以显示到某个版本需要移动几个步骤,移动 HEAD 指向。

git 学习

5. 前进或后退当前版本(HEAD指针指向当前版本)

git 学习

    1. 基于索引值(推荐)
      1. git reset --hard 版本号(就是最前面的索引值)
    2. 基于 ^ 符号
    3. 基于 ~ 符号

6. git help reset

​ 查看某个命令的文档

7. 删除文件并找回

    1. 回退到上一个版本
    2. 如果没有提交到本地库,也可以直接回退回某一个版本
  • git 学习

3. 分支管理

可以同时并行进行多个功能开发,分支之间相互不影响

git 学习

1. 创建分支

git branch [分支名]

2. 查看分支

git branch -v

3. 切换分支

git checkout [分支名]

4. 合并分支

  1. 第一步:切换到接收修改的分支上
  2. 第二步:执行 merge 命令 git merge [拿过来合并的分支]

5. 解决冲突

  1. 不同分支对同一个文件的相同地方做了不同的修改,合并的时候就会冲突,因为 git 这个时候不知道听谁的,这时候需要人为介入解决冲突

git 学习

  1. 将冲突文件手工解决冲突后,将冲突文件重新添加和提交,此时git commit -m "bakaka" 就不能再带文件名了

git 学习

4. 本地库与远程仓库连接

1. 创建一个远程库(如 github)

2. 本地库推送到远程库

  1. git remote -v 查看当前的远程库
  2. git remote add origin https://github.com/balabala.git 相当于把我们的远程库取了一个别名叫做 origin
  3. git push origin master 向远程 origin 库推送本地的 master 分支

3. 从远程拉取到本地

git clone https://github.com/balabala.git

4. 邀请其他用户加入开发

​ 在github里面有一个合作开发的选择,可以选择对方用户,并邀请他加入开发,就可以推送

5. 拉取远程仓库

  1. fetch 拉取下来,决定好后就可以直接 merge
    1. git fetch [远程地址别名] [远程分支名]
    2. git merge [远程库地址别名/远程分支名] ——> 注意中间的 /
  2. 直接使用 pull = fetch + merge (复杂的情况下冲突的概率比较大)
    1. git pull [远程仓库的别名] [远程分支名]

6. 解决冲突 -> 有冲突一定先解决,不要强行 push

git 学习

5. gitignore文件书写

  1. 可以将新建一个 .gitignore 文件,放在全局
  2. 如果使用 idea,自己重新写一个 .gitignore 文件也可以
  3. Git 官网有参考,这个可以去网上搜一份儿,一直用

6. Git 工作流

git 学习