本文是参考廖雪峰老师的git教程所作的简约版git学习笔记
廖雪峰老师git教程网址:Git教程 - 廖雪峰的官方网站
常用的git命令(廖雪峰老师作):https://liaoxuefeng.gitee.io/resource.liaoxuefeng.com/git/git-cheat-sheet.pdf
git的官网:http://git-scm.com
一、创建git版本库
在目录新建文件夹,右键点击git bash,进入git操作页面后,输入git init,创建仓库成功
设置或切换用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
二、提交文件
提交的文件需要保留在仓库的目录下,提交分两步
1.git add 文件名1.后缀 文件名2.后缀 ... 文件名n.后缀(一次可以提交多次)
2.git commit -m"提示信息"(提示信息一定要写,且必须有意义)
三、 查看修改状态
git status 文件名.后缀————用于查看文件的修改状态,即文件相比最近一次提交是否有改动,查看工作区中文件的状态
git diff 文件名.后缀————用于查看文件最后一次修改的改动,默认比较工作区和暂存区的文件,若暂存区为空,则比较工作区和版本库最新文件之间的改动
git diff HEAD -- 文件名.后缀————比较工作区和版本库最新文件之间的修改
四、版本回溯
git reset --hard HEAD^————表示回溯到前一个版本
git reset --hard HEAD~100————表示回溯到前100个版本
git reset --hard commit id————回溯到指定版本,commit id可以通过git log 或 git reflog获得
git log————用来查看提交的日志,从上到下表示从最新到最旧
git reflog————用来表示修改记录,即使关机重启仍然能够看到之前的修改记录
五、暂存区和工作区
工作区:你能看得到的文件
版本库=分支+暂存区,工作区中的文件需要通过git add提交到暂存区才能进行后续操作
六、撤销修改
简单暴力的方法git reset --hard HEAD直接回溯到修改前的最新版本
使用 git status查看文件状态,根据上面的撤销提示进行操作
七、远程仓库
1.注册github或gitee等远程仓库的账号
2.添加公钥远程仓库 - 廖雪峰的官方网站
3.在github或gitee上建立仓库
4.根据网页提示将远程仓库与本地仓库建立联系
(详见廖雪峰老师的网站)
git clone 远程仓库网址(就是你点击clone的那个)————从远程仓库中克隆仓库到本地,适用于先有远程仓库再有本地仓库,在项目开发中常用,在指定目录下打开git bash在输入git clone的命令就可以把仓库克隆到这个目录下
git push 远程仓库名 分支名————把当前分支推送到远程仓库对应的分支,若远程仓库没有对应的分支,那么会新创建一个对应的分支
需要注意的是,远程仓库的分支比本地的分支要超前时,需要git pull到本地仓库在进行人工合并,人工合并完后在进行git push,总而言之远程分支绝对不能比本地分支超前,否则需要人工合并后再push
八、分支管理
多人协作开发需要创建分支
一般来说master分支是版本分支,不会在master分支上进行改动,master分支上都是用于发布的版本
dev分支是开发分支,修改,开发都是在dev分支上进行,dev上进行迭代开发,每完成一个版本把dev合并到master上
分支的理解:分支是一条时间轴,不同分支可以理解为平行的时间轴,分支上的每一个节点都是一个版本
在分支合并的时候,合并的分支一定要比被合并的分支长,例如将dev分支合并到master分支上,必须要保证dev分支比master分支长
git branch————查看当前分支
git branch 分支名————建立新的分支
git switch 分支名————切换分支
git merge 分支名————将指定分支合并到当前分支
九、添加.gitignore文件
1.打开Git Bash,输入touch .gitignore,生成.gitignore文件(注意前面有点)
2.在.gitignore文件内编辑忽略的文件名(需要带后缀),详细规则自行百度,常用的规则如下
*.:表示忽略所有以.结尾文件
.*:忽略所有以.开头的文件
*.class:忽略所有以.class结尾的文件
其它以此类推,*表示全部的意思
忽略具体文件:
如忽略readme文件
readme.txt
廖雪峰老师的教程:忽略特殊文件 - 廖雪峰的官方网站
注意.gitignore文件是一个特殊文件,需要在git的命令行里创建,当然还有其他创建方法,不过这个创建方法最稳。
十、自定义git配置
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"
配置lg指令,之后直接输入git lg就可以得到分支管理的树状图模式,强烈建议配置
十一、
本地新建分支推送到远端
git push --set-upstream origin 本地分支名
执行此操作将在远端自动创建一条同名分支,把当前分支推送到远端并关联。
十二、
把远端分支拉取到本地
git checkout -b 本地名 origin/远端名
此操作会把远端分支拉取到本地,并自动切换到该远端分支。执行此操作时,自动关联