git的基本使用
1.git的安装
首先安装git之后,会在右键菜单中出现git GUI和git BASH,两个选项,前者是git的可视化操作界面,后者是git的命令行界面,可以使用linux指令。
打开bash命令行之后,首先需要创建用户名称和邮箱
git config --global user.name "用户名"
git config --global user.email "邮箱"
然后创建一个空目录作为本地仓库的根目录,进入目录下,右键打开bash‘命令行
#初始化仓库
git init
出现.git文件夹说明创建成功
2.给较长的指令重新命名
~/表示当前用户的根目录
使用touch ~/.bashrc创建一个文件,其中添加指令
#用于输出git提交的日志信息
git log --pretty=oneline --all --graph --abbrev-commit
然后使用 source ~/.bashrc; 将其应用
git基本指令
git工作目录下的文件会存在几个不同的状态,这几个状态会随着我们使用git指令而发生变化。具体如下图:

提交
- git add 工作区——>暂存区
- git commit 暂存区——>仓库
- git status #查看当前工作目录下的所有文件的状态(untracked,unstaged,staged)
- git commit -m “这里写提交的日志信息”
- git log [options] 查看提交日志
- –all 显示所有分支
- –pretty=oneline 将提交记录显示为一行
- –abbrev-commit 使得commit信息更加简短
- –graph 以图表的形式显示
版本回退
- git reset –hard commitID 回退到指定提交的版本,commitID可以通过git log获得。
如果回退到先前版本之后还想回来,可以使用
git reflog 查看版本变更的历史日志,找到想跳转到的版本号id,使用
- git reset –hard commitID 跳转
忽视指定文件
如果想不让git仓库管理文件夹中的某些文件,可以创建一个.gitignore文件,然后正在文件中添加不需要管理的文件名称,可以使用通配符匹配一类文件。之后的提交不会对这些文件有影响。
分支
- git branch 查看分支
- git branch “分支名” 创建分支
- git checkout “分支名” 切换分支
- git checkout -b “分支名” 创建分支并且切换到该分支
- git merge “分支名” 合并分支,一般是合并其他分支到master分支
- git branch -d “分支名” 删除分支,只能删除当前以外的分支,并且做各种检查
- gut branch -D “分支名” 强制删除分支,不做任何检查
解决冲突
不同的分支在合并的时候可能会产生冲突,比如两个分支都修改了相同的文件的同一行。这时候合并需要处理冲突
git的解决方案是在冲突的地方标注起来,然后用户手动修改并再次提交。

手动删除之后,再次提交。

git远程仓库的使用
github配置
首先配置密钥对
ssh-keygen -t rsa
#创建公钥
#创建好的密钥会保存在~/.ssh/id_rsa.pub文件中
然后再github或者gitee上创建好仓库之后,配置好公钥,然后使用
ssh -T git@github.com
#测试是否配置成功
本地配置
#添加远程仓库到本地
git remote add origin git@github.com:Okinami2/git_test.git
#查看现有的远程仓库
git remote
#将本地仓库推送到远程仓库
git push origin matser
之后每次修改之后推送时使用git push 仓库名 分支名 即可
也可以使用 –set-upstream master:master绑定分支关系,之后直接使用git push origin推送
对远程仓库的操作
- git clone 远程仓库的ssh地址 [保存在本地的目录名,缺省为远程仓库名]
- gti fetch <远程仓库名> [分支名] //表示将远程仓库的所有更新获取到本地,如果没有指定分支名,则默认把所有分支都抓取到本地。
但是不会将分支与本地的当前分支进行合并而是保留下来
git pull <远程仓库名> [分支名]
//将远程仓库的指定分支的修改拉取到本地,不指定分支则拉取所有修改,并合并到当前分支