Git笔记
git安装与常用命令
- ls/ll 查看当前目录(ll可查看隐藏文件【以.开头的文件】,ls则不可以)
- cat 查看文件内容
- touch 创建文件
- vi vi编辑器
git gui:git提供的图形界面工具
git bash:git提供的命令行工具
当安装git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次git提交都会使用改用户的信息
基本配置
打开git bash
设置用户信息
git config --global user.name "username"git config --global user.email "abc@123.com"查看配置信息
git config --global user.namegit config --global user.email
获取本地仓库
git init会生成一个.git文件夹
基础操作指令
git 工作区内新创建的或者修改已有文件需要将该文件通过git add命令存入暂存区,暂存区的文件通过git commit命令将文件提交到仓库

查看文件的状态git status
git add .可直接将工作区中的修改的所有文件放入暂存区
对工作区中的test01.txt文件进行提交。
- 将test01.txt放入暂存区
git add . - 将暂存区文件提交到仓库
git commit -m "add file01"后边的“add file01”只是提交标识方便以后查找 - 提交完毕可以再次通过
git status指令查看当前 Git 仓库的状态,它能显示文件的更改情况、哪些文件已经被暂存(staged)或者哪些文件还没有被暂存,帮助你了解当前的工作区和暂存区的状态。 - 通过
git log命令查看提交历史
版本回退
git reset --hard commitIDcommitID可以使用git log --oneline或git log命令查看
git log --oneline是简洁输出
查看已删除的记录git reflog,这个指令可以查看已经删除的提交记录
添加文件至忽略列表
若有些文件不需要纳入git的管理,也不希望他们总是出现在未跟踪文件列表,通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等,在这种情况下,我们可以再工作目录中创建一个名为.gitignore的文件(文件名称固定),列出要忽略的文件模式(比如不想要将.a后缀的文件纳入git的管理,可在.gitignore文件中输入*.a
1 | #no .a files |
分支
git branch查看分支
git branch 分支名创建新的分支
规定当前工作区只能属于其中一个分支,有多个分支之后只能对一个分支进行修改,即当前分支
git checkout dev01切换到dev01分支
git checkout -b dev01创建并切换到dev01
git merge dev01合并dev01分支到当前分支
删除分支
git branch -d b1删除b1分支,需要做各种检查
git branch -D b1不做任何检查,强制删除
解决冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:
- 处理文件中冲突的地方
- 将解决完冲突的文件加入暂存区(add)
- 提交到仓库(commit)

配置ssh公钥
- 生成ssh公钥
ssh-keygen -t rsa- 不断回车(如果公钥已经存在,则自动覆盖)
- Gitee设置账户共公钥
- 获取公钥
cat ~/.ssh/id_rsa.pub
- 获取公钥
- 验证是否配置成功
ssh -T git@gitee.com
操作远程仓库
添加远程仓库
此操作是先初始化本地库,然后与已创建的远程库进行对接
- 命令:`git remote add <远程名称> <仓库路径>
- 远程名称,默认是origin,取决于远程服务器设置
- 仓库路径,从远端服务器获取此URL
- 例如:`git remote add origin git@gitee.com:czbk_zhang_meng/git_test.git
查看远程仓库
- 命令:git remote
推送到远程仓库
- 命令:
git push [-f] [--set-upstream] [远端名称[本地分支名][:远端分支名]]- 如果远程分支名和本地分支名相同,则可以只写本地分支
git push origin master(意为将本地master分支合并到远程origin仓库的master分支)- -f 表示强制覆盖
--set-upstream推送到远端的同时并且建立起和远端分支的关联关系。git push --set-upstream origin master
- 如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
- git push 将master分支推送到已关联的远端分支
- 如果远程分支名和本地分支名相同,则可以只写本地分支
本地分支与远程分支的关联关系
- 查看关联关系我们可以使用
git branch -vv命令
从远程仓库克隆
如果已经有一个远程仓库,我们可以直接clone到本地
- 命令:`git clone <仓库路径> [本地目录]
- 本地目录可以省略,会自动生成一个目录

从远程仓库抓取和拉取
远程分支和本地分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。
- 抓取命令:
git fetch [remote name] [branch name]- 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
- 如果不指定远端名称和分支名,则抓取所有分支。
- 拉取命令:
git pull [remote name] [branch name]- 拉取指令就是将远端仓库的修改拉倒本地并自动进行合并,等同于fetch+merge
- 如果不指定远端名称和分支名,则抓取所有并更新当前分支。
