一。windows安装后的基本配置
(1)git下载地址:https://npm.taobao.org/mirrors/git-for-windows/v2.26.0.windows.1/ ------官网太慢了
小乌龟TortoiseGit和汉化包下载地址: https://tortoisegit.org/download/
在安装小乌龟的时候没有确定,然后出现一个最后弹框含有refresh的,在安装完汉化包的时候,我点了refresh刷新后,立刻出现了中文
(2)本地配置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
生成SSH密钥
$ ssh-keygen -t rsa -C "email@example.com"
再按三个回车
在windows下查看[c盘->用户->自己的用户名->.ssh下是否有id_rsa(私钥)、id_rsa.pub(公钥)文件
添加到gitee中的SSH公钥配置中
(3)设置用户名和邮箱(右键->setting->Git)
(4)创建本地仓库并和远程仓库连接
新建文件夹 ,对文件右键--->Git在这里创建版本库---->确定(不要勾选)------>然后文件夹里面就会出现一个隐藏的文件夹.git
Git->远端
url和推送url复制刚才从github创建项目生产的连接,远端名称在填完url和推送url自动生产origin
右键->ToroiseGit->拉取,就能从远程仓库拉取代码了
(5)避免每次都输入用户名密码
在文件末尾添加
[credential]
helper = store
二。git命令
1.创建版本库,repository
版本库简单说就是个目录,这个目录下所有的文件都被git管理,文件的增删改,git都能追踪到
Administrator@PC-20191124GRMO MINGW64 /
$ mkdir learngit
Administrator@PC-20191124GRMO MINGW64 /
$ cd learngit
Administrator@PC-20191124GRMO MINGW64 /learngit
$ git init
Initialized empty Git repository in D:/Program Files (x86)/Git/learngit/.git/
git init
命令把这个目录变成Git可以管理的仓库。
2. 提交增删改
git add readme.txt --将这个文件添加到仓库,可以是新增或修改,可反复多次使用,添加多个文件
$ git commit -m "wrote a readme file" 把文件提交到仓库,可以提交多个文件即多次add的内容
$ git status 查看当前仓库的状态,是否有文件修改,或者未提交
$ git diff readme.txt 比较文件和仓库中的修改了什么
3.回退
$
git log --pretty=oneline
显示历史提交日志,以便回退到哪个版本。一大串1093adfg是版本号
$ git reset --hard HEAD^ 回退到上一个版本。版本回退很快,就是将HEAD指针指向指定的版本
$ git reset --hard 1094a 回退到以1094a开头的版本号,不用写全
$ git reflog 展示每次提交,包括回退。可以重返未来,查看命令历史,以便确定要回到未来的哪个版本
4.撤销修改
$ git checkout -- readme.txt 工作区改了或删了还没add,让这个文件回到最近一次add或者commit的状态,撤销工作区修改
$ git reset HEAD readme.txt 工作区改了并且add了,add到暂存区的修改撤销,但是工作区还是保留了修改,接着可以执行checkout撤销工作区修改
如果已经commit了,就执行回退的操作
5.删除文件
$ git rm test.txt 删除文件,手动删除后执行,接着commit。和add是一样的。如果误删了
git checkout -- test.txt恢复
6.远程仓库
$ git remote add origin git@github.com:michaelliao/learngit.git 在本地仓库下执行,和远程仓库关联
$ git pull origin master 从远程仓库拉取更新到工作空间
$ git push origin master 将本地仓库的内容推送到远程仓库
$ git clone git@github.com:michaelliao/gitskills.git 克隆远程仓库,会新建gitskills目录即本地仓库
7.分支
$ git branch dev 创建分支dev
$ git switch dev 切换到分支dev
$ git branch 查看当且分支
$ git merge dev 合并dev分支上修改到master
$ git branch -d dev 删除分支