1.下载git
2.Git配置SSH公钥
- 注册(用邮箱注册),并登录到Gitee后,鼠标移至右上角头像,下拉选项中选择设置
- 左侧菜单栏中选择SSH公钥,在右侧添加公钥
- 怎么生成本机的公钥?请查看:生成公钥
3.Git日常操作
克隆代码(把远程仓库拉取到本地):git clone 仓库地址
查看仓库状态:git status
提交工作区代码到暂存区 git add 文件路径或者.(所有文件)
提交暂存区代码到历史记录区 git commit -m 本次提交的信息提示
提交历史记录区的历史提交记录到远程 git push origin 分支名称
注意点
git提示的信息里面只要有fatal或者error这两个词随便一个,都是执行git命令失败了
4.创建项目与分支
在gitee中创建项目(例如创建了demo0630这个项目),执行以下命令
//克隆仓库到本地
git clone git@gitee.com:heyha/demo0630.git
//检查当前分支
git branch
一般此时是master分支,但我们开发阶段一般用dev等其他分支,所以我们:
git checkout -b dev
//git checkout 命令加上 -b 参数,表示创建并切换,以上操作相当于:
git branch dev
git checkout dev
- 第一个注意点:
在仓库没有初始化前,如果需要检查分支,一定尧记住这句话:
未曾commit的仓库是无法检查分支的
- 第二个注意点:
实际上
git checkout <branch>
不是切换分支的最佳选择,我们使用git switch
会更好:
git switch -c dev //创建并切换到新的dev分支
git switch dev //切换到已有的dev分支
5.文件提交
创建index.js文件,随便写点内容,提交
git add .
git commit -m '修改了index.js'
git push origin dev
此时你会发现,git checkout master
切回到master分支后,index.js这份文件会消失,因为当前分支不存在这个文件
6.分支合并
假设当前项目已经完成,我们想要把dev分支合并到master,可以在master分支下使用:
git merge dev
此时,你会看到,项目中又有index.js了。
7.版本回滚
使用git switch -c dev1
创建新的dev1分支,稍微修改dev1中的的index.js,并提交到远程仓库。
我们提交完后,发现自己不想用当前的代码,想回滚到上一次的代码,怎么办呢?
//查看当前项目提交过的所有版本(含所有分支的操作)
git log
//git log会出现很详细的信息,如果我们只想查看版本号,可以使用
git log --pretty=oneline
我们会得到:
b2ff1be92bd3ac425dac2fa519d4b8191438be9 (HEad -> dev1)'123456'
c9efd011b471765fc9fdd6eefaadf75b3b36153b (origin/dev1) '12345'
80f6cb77a9b13cd471b725b5ef66901150bf57bb‘提交
47d676dbf6d0687d76f059ee9ed044c4c378ed30 corigin/master, origin/HEAD)'dev1的首次提交'
d5c756afd04abfdbc9bb2299064eab34b30ede5f (origin/dev, dev)'修改了index.js'
65f4c72f6c8e2c272d4e284c103e249c65ebff32 Initial commit
如果我们只是想回滚到指定版本,可以使用:
git reset --hard c9efd
这里只需要写id号的前几个字母与数字就行,没必要全写,git会自动去检索。
但此时,我们再一次查看所有版本,发现:
c9efd011b471765fc9fddbeefaadf75b3b36153b (origin/dev1) '12345'
80f6cb77a9b13cd4716725b5ef669011506f57bb'提交'
47d676dbf6d0687d76f059ee9ed044c4c378ed30 (origin/master, origin/HEAD)'dev1的首次提交'
d5c756afd04abfdbc9bb2299064eab34b30ede5f (origin/dev, dev) '修改了index. js'
65f4c72f6c8e2c272d4e284c103e249c65ebff32 Initial commit
最新写的那个丢失了,但我此时又后悔了,怎么办呢?
//重新reset即可找回
git reset --hard b2ff1
现在,就可以退回最新版本了。
但是这个方法前提是你当前这个控制台不曾关掉,如果已经关掉了,你是没法知道版本号的,这时候要怎么办呢
//Git提供了一个命令gitreflog用来记录你的每一次命令
git reflog
8.代码冲突
修改master的代码,执行:
git add .
git commit -m '提交master'
然后执行:
git merge dev
我们会发现,会提示代码冲突
此时,我们只需要点击我们想要的选项,即可解决代码冲突。