本篇文章给大家带来了关于git的相关知识,其中主要是git的教程笔记整理,包括了版本控制器方式、安装、基本操作和操作指令等等,希望对大家有帮助。
推荐学习:《Git教程》
一、版本控制器方式
1.1 实际场景
备份 代码还原 协同开发 追溯代码问题
1.2 版本控制方式
-
集中式版本控制工具 SVN和CVS
每个人都从中央服务器下载代码,修改后提交到中央服务器。 -
分布式版本控制工具 git
每个人电脑上都是一个完整的库,互相都可以看到对方的更改。
二、安装
- 解释:
· Git GUI:Git提供的图形界面工具
· Git Bash:Git提供的命令行工具 - 安装完之后先设置邮箱(邮箱确定不同的人员):
打开Git Bash—
设置人git config --global user.name "name"
—
设置邮箱git config --global user.email "email"
- 可通过
git config --global user.name
查看是否设置成功
三、开始操作
3.1创建本地仓库
1)创建一个空目录作为本地Git仓库
2)进入这个目录中,点击右键打开Git bash窗口
3) 执行命令git init
4) 创建成功后可以在文件夹下看到隐藏的.git目录
之后可以查看第四部分的基础操作
3.2 分支
几乎所有的版本控制都支持分支。每个人有独立的分支,开发互不影响。完成之后再合并在一起。HEAD指向的就是当前的分支,修改只会改变当前分支的内容。
git branch
查看分支
git branch name
创建name分支
git checkout 分支名
切换分支 git checkout -b 分支名
创建并切换
git merge 分支名1
合并分支 分支1和当前分支合并
如果不同分支有冲突:则不会自动合并,将不同版本的信息存在文件中需要人工选择
git branch -d name
删除name分支 -D
强制删除
3.3 Git远程仓库
常用 GitHub、码云、GitLab(企业常用),课程以码云为例。
1)打开gitee网页登录— 新建仓库—
2)配置SSH公钥:
- 在bash中输入
ssh-keygen -t rsa
(不断回车如果公钥已经存在则自动覆盖) -
cat ~/.ssh/id_rsa.pub
获取公钥 — 复制输出的公钥 — 打开gitee的用户-设置-SSH公钥 - 验证配置是否成功:
ssh -T git@gitee.com
3)连接本地仓库
- 打开在gitee上创建的仓库,复制SSH(远程仓库的地址)
- 在bash中
git remote add name(自己设置的名字) ssh地址
注意这之前要git init
- 查看是否配置成功
git remote
出现自己设置的名字就成功了 - 本地代码上传
git push [本地分支名]:[远端分支名]
注意这之前要现在本地仓库中提交
其完整代码是git push [-f] [--set-upstream][远端名称] [本地分支名]:[远端分支名]
[-f]:强制覆盖远端代码
[–set-upstream] 表示建立本地和远端分支的关联关系
远端分支名和本地相同时可省略 :[远端分支名] 两者已关联则可省略 [本地分支名]:[远端分支名]
4)其他操作
- 从远程仓库克隆
git clone [本地路径]
- 从远程仓库中抓取
git fetch [remote name] [branch name]
将仓库里的更新抓取到本地,不会进行合并。如果不指定远端名称和分支名,则抓取所有并更新当前分支。如果需要合并,则需要git merge [remote name]
- 拉取命令
git pull [remote name] [branch name]
即抓取+合并 - 解决合并冲突
AB 都从远端clone后,A本地修改后push到远端,B从本地修改相同文件的同一内容后,想从远端仓库中拉取,则会合并冲突,和本地不同分支有冲突解决方式相同。
3.4 在IDEA中使用git
没看不用idea
四、基础操作指令
之前创建的文件夹下除了.git文件之外的其他文件都是我们的工作目录。在工作目录下对文件进行修改(增加、删除、更新),这些修改的状态会随着我们执行Git命令而发生变化git add
:从无到有新创建一个文件(未跟踪)或 修改已有文件(未暂存) 使用 git add
命令 将文件存至暂存区。(工作区—暂存区)git commit
:暂存区进入仓库,生成一次提交记录。(暂存区—仓库)git commit -m "评论内容"
git status
:查看工作目录和暂存区的状态git log
:查看提交的历史
- –all 显示所有分支
- –pretty=oneline 将提交信息显示为一行
- –abbrev-commit 使得输出的commit更简短
- –graph 以图显示
git reset --hard commitID
:版本回退
可以用git -log 或git log指令查看commitIDtouch .gitignore
将不想参与更新的文件名加入,就可以不再参与仓库管理
推荐学习:《Git学习教程》
原文来自:www.php.cn
暂无评论内容