Git 的工作流程概述


1.clone(克隆):从远程仓库中克隆代码到本地仓库
2.checkout(检出):从本地仓库中检出一个仓库分支然后进行修订
3.add(添加):在提交前先将代码提交到暂存区
4.commit(提交):提交到本地仓库。本地仓库中保存修改的各个历史版本
5.fetch(抓取):从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
6.pull(拉取):从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge
7.push(推送):修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库


Git 安装与基础命令


  • Git Bash中可以使用一些Linux基本命令

    • ls/ll:查看当前目录文件,ll同 Linux 的ls -l查看隐藏文件
    • cat:查看文件内容
    • touch:创建文件
    • vi:使用 vi 编辑器
  • 安装 Git 后首先要进行用户配置

    • 打开Git Bash,执行git config --global user.name "名称",设置用户名
    • 执行git config --global user.email "邮箱",设置邮箱
    • 不写后面修改的信息,则为查看当前设置的信息
  • 常用指令配置别名(根据个人需求)

    • 在用户目录下创建.bashrc文件,如果不允许使用点开头,则可以在Git Bash使用touch ~/.bashrc指令
    • .bashrc文件中按alias 别名='被替换的指令'格式写入
  • 解决 Git乱码问题

    • Git Bash中输入git config --global core.quotepath false
    • 然后在根目录\etc\bash.bashrc文件中加入下面两行:
    export LANG="zh_CN.UTF-8"
    export LC_ALL="zh_CN.UTF-8"

git 常用本地命令


  • git init:在需要管理的文件夹下使用git init初始化本地仓库,随后文件夹下会多出.git的隐藏文件夹,用于 git 存储信息
  • git add:使用git add .将目录下所有文件添加更新暂存区,也可将点变为文件名添加指定文件
  • git commit:使用git commit -m "提交说明"暂存区的修改提交到本地仓库,使用git commit --amend -m “提交说明”更改补充当前本地已提交的节点(不能 push 过)
  • git status:使用git status查看文件状态
  • git log :使用git log查看文件提交历史,可以用后缀优化显示,执行下列指令,将使用git lg作为别名
    git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
  • git reset:使用git reset --hard 标识ID回退需要的版本
  • git reflog:使用git reflog查看已删除的提交记录

git 分支管理


  • git branch查看本地分支
  • git branch 分支名创建本地分支
  • git checkout 分支名切换分支
  • git checkout -b 分支名创建并切换分支
  • git merge 分支名合并分支,将输入的分支合并到当前所在分支中
  • git branch -d 分支名删除分支,将-d换为-D为强制删除
  • 合并冲突:合并时出现冲突,查看冲突的文件,箭头指向 HEAD 的为当前分支,此外为其他分支,将冲突文件中冲突手动解决(只留下需要的内容),再次提交

远程仓库托管


  • 创建远程仓库,可选 github、gitee、gitlib 等
  • 配置 SSH 公钥:使用ssh-keygen -t rsa创建公钥,一路回车即可,如果已存在则自动覆盖。使用cat ~/.ssh/id_rsa.pub查看公钥,复制后写入设置(随后可以访问 SSH 链接)
  • 连接仓库:使用git remote add origin(本地显示名,最好写origin) 仓库地址连接仓库,使用git remote查看连接的仓库
  • 推送:使用git push origin(仓库名) master(本地分支)推送到远程仓库,表示将本地 master 分支推送到 origin 所连接的仓库。如果远程仓库分支名本地相同则可以只写分支名
  • 建立关联:使用git push --set-upstream origin master可以建立关联,此后可以不写仓库名分支名
  • 其他补充:使用git push origin 本地分支名:远端分支名来将指定本地分支推到指定远端分支,此外,在 origin 前写-f表示强制覆盖
  • git clone:使用git clone 仓库地址 本地路径将远程仓库所有文件克隆到本地(克隆指定分支:git clone -b <分支名> <仓库地址>)
  • git fetch:使用git fetch 仓库名 分支名抓取到本地,但不会进行合并,不指定名称则为全部
  • git pull:使用git pull 仓库名 分支名拉取到本地,会自动合并,不指定名称则为全部
  • 处理冲突:使用git pull来处理冲突

页底评论