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 "邮箱"
,设置邮箱 - 不写后面修改的信息,则为查看当前设置的信息
- 打开Git Bash,执行
为常用指令配置别名(根据个人需求)
- 在用户目录下创建
.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 Bash中输入
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
来处理冲突
如果较为紧急,建议添加微信或QQ,并注明来意
评论系统可能加载较慢,请耐心等待或刷新重试