一、git 与github
git是一个版本管理工具软件。作用可以让你更好的管理你的程序。例如提交修改的代码,查看原来的代码等。
github 是一个网站,主要用于开源的代码托管,可以理解为世界上最大的代码仓库。你每次也可以把自己的代码提交到网上,让别人都可以看到并下载你的代码,同时别人可以帮您修改代码。实际上很多著名的开源软件都是通过这种方式开发
https://gitee.com/
二、安装与配置
1)检查一下自己的电脑c:\user\自己电脑名字\ 检查一下有无.gitconfig 这个配置文件
2)安装完成后账号和邮箱的修改
[user]
name = dengbin
email = 58021125@qq.com
也可以使用命令行修改:
$ git config --global user.name "your name"
$ git config --global user.email "58021125@qq.com"
三、git的基本概念
使用git作为版本管理软件,将用户的目录分成三个区域:工作区、暂存区、git仓库。
工作区:可理解你放代码的目录
暂存区:临时完成的工作,暂时提交到暂存区,等待被提交到git仓库
git仓库:最终代码存放地
四、git的基本命令应用
步骤:
1)新建一个gitdemo的文件夹,不能有特殊保留字如git
- 进入该目录的git命令行
3)git初始化,作用生成一个空的git仓库
git init
- 编写代码,完成添加到暂存区
为你的代码文件。可以使用*.js \ *.html
git add <file>
- 将暂存区文件提交到git仓库
注释是对本次代码修改功能的说明,说明你干了什么。
git commit -m "注释"
注意,双引号是英文字符,注释可以是汉字
- 以后每次修改代码,都需要重复 add 命令先提交到暂存区,再使用 commit 提交到仓库。一般是下班前或者功能模块开发完成后提交。
其他git的常用命令:
git status 查看状态。
git diff 查看与上个版本的区别。如果本次有改动后(未提交)才可以看到变化
git log 查看最近到最远的提交记录
git reflog 查看命令历史,一般用来确认回到过去的那个版本
git reset --hard <commit_id> 用来回退到上一个版本。commit-id每次提交git根据您的注释自动生成的加密字符串。只需要输入前六位。
五、分支概念
主分支: 当使用git init命令初始化的时候,git默认给我们创建一个主分支(master)。通常当项目开发只有一个人时,所有的操作都是在主分支上进行,但是当多人协同开发时,所有程序员都对主分支直接操作是有风险的。
因此,当多个开发人员同时开发一个项目时,大家都先从master上克隆一份建立自己的分支(侧分支),在自己的分支上进行开发。当项目完成后,大家再把自己的分支合并到主分支上,整个项目就完成了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QFl71qMS-1620819444330)(img/%E5%88%86%E6%94%AF1.png)]
5.1 分支相关命令
git branch 如果不输入分支名,则查看当前所有分支
git branch 分支名 创建一个侧分支
git checkout 分支名称 克隆侧分支并切换到该侧分支上。
练习:创建一个侧分支,编辑代码并提交到侧分支上的仓库中。再切换回主分支,查看代码是否有变换。(切换之前保证本地工作区都已提交完成 working tree clean)。然后再切换回侧分支。
5.2 合并分支
git merge 侧分支名
注意,合并操作前,先切换到主分支(master),再执行此命令。
5.3 合并冲突及解决(了解)
当两个侧分支对同一个文件进行了修改并提交,在合并时就会出现(conflict)
合并时出出现如下提示:
<<<<<<< HEAD
var name = "小红";
console.log( name );
var xiaohong = "小红";
=======
var xiaoming = "小明"
>>>>>>> xiaoming
其中<<<<<<< =======>>>>>>> 是git自动添加的。此时需要两个开发者商量合并代码,商量好了以后删除git产生的那些标识符,然后再次提交就解决了冲突。
练习: 分别在两个侧分支上修改同一文件并提交到本地仓库。然后再合并两个侧分支代码,然后解决冲突。
合并冲突解决后,各分支再从master上更新。
先切换至自己的分支,
git checkout xiaohong
再和主分支执行一次合并
git merge master
5.4 删除侧分支
git branch -d 分支名称
注意,删除前工作区时干净的。
六、 文件忽略
项目文件夹内有一些文件不希望提交到仓库,那么可以使用git的配置文件将其忽略。
创建一个 .gitignore 文件放置在项目根目录下
该文件内可将某个文件或目录忽略,不再提示要求提交该文件了。
temp.js
.gitignore
/node_modules/
*.html
七、提交到远程仓库
步骤:
1) 登录码云网站,创建一个远程的空仓库
2)创建远程空仓库完成后,在本地先切换到master分支,再向远程提交。注意,在提交之前确保本地工作区要提交本地仓库完毕。
- 输入以下命令向远程提交
git remote add origin https://git地址
git push -u orgin maser
如果是git地址是https:// 开头,第一次提交时需要验证账号密码。
提交完成后,刷新仓库页面,即可看到提交的代码。
4) 如果是第二次提交,则只需输入 git push origin master 即可
八、ssh管理
教程:https://gitee.com/help/articles/4181#article-header0
当ssh公钥配置完成后,以后就可以 ssh协议实现远程仓库的推送了
也就是说,有两种推送方式: https 和 ssh;推荐使用ssh方式
git remote add origin git@gitee.com:haotata168/gitdemo.git
git push -u orgin maser
以后本地仓库更新后再推送到远程,只输入 git push orgin maser 即可
常见错误解决:
1、提示远程仓库已经存在,解决方案删除远程仓库地址,重试一次
git remote rm orgin
git remote add origin https://git地址
it push -u orgin maser
以后本地仓库更新后再推送到远程,只输入 git push orgin maser 即可