header0](https://links.jianshu.com/go?to=https%3A%2F%2Fgitee.com%2Fhelp%2Farticles%2F4181%23article-
header0))
1..新建文件夹,在该目录右键打开Git Bash Here,执行gitbash
2.在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。
你可以按如下命令来生成 sshkey:
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
3.完成三次回车,即可生成 ssh key
通过 以下指令可获取public key
cat ~/.ssh/id_rsa.pub
4.复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
5.添加后,在终端(Terminal)中输入
ssh -T git@gitee.com
git status (查看仓库状态)
git add 文件路径或者 .(所有文件)
git commit -m '本次提交的信息提示 (提交暂存区代码到历史记录区)
git push origin 分支名称 (提交历史记录区的历史提交记录到远程仓库)
<font color="red">git提示的信息里面只要有 fatal 或者 error
这两个词随便一个,都是执行git命令失败了</font>
在gitee中创建项目(例如创建了 demo0630
这个项目),执行以下命令:
// 克隆仓库到本地
git clone git@gitee.com:codesohigh/demo0630.git
// 检查当前分支
git branch
一般此时是master分支,但我们开发阶段一般用dev等其他分支,所以我们:
git checkout -b dev
// git checkout 命令加上 -b 参数,表示创建并切换,以上操作相当于:
git branch dev
git checkout dev
在仓库没有初始化前,如果需要检查分支,一定要记住这句话:
<font color="red"> 未曾commit的仓库是无法检查分支的! </font>
实际上git checkout <branch> 不是切换分支的最佳选择,我们使用git switch 会更好:git switch -c dev // 创建并切换到新的dev分支 git switch dev // 切换到已有的dev分支
在仓库没有初始化前,如果需要检查分支,一定要记住这句话:
<font color="red"> 未曾commit的仓库是无法检查分支的! </font>
实际上git checkout <branch> 不是切换分支的最佳选择,我们使用git switch 会更好:git switch -c dev // 创建并切换到新的dev分支 git switch dev // 切换到已有的dev分支
四、分支合并
假设当前项目已经完成,我们想要把dev分支合并到master,可以在master分支下使用:
git merge dev
此时,你会看到,项目中又有 index.js
了。
使用 git switch -c dev1
创建新的dev1分支,稍微修改dev1中的index.js,并且提交到远程仓库。
我们提交完成后,发现自己不想用当前代码,想回滚到上一次的代码,怎么办呢?
// 查看当前项目提交过的所有版本(含所有分支的操作)
git log
// git log会出现很详细的信息,如果我们只想简单看看版本号,可以使用
git log --pretty=oneline
我们会得到:
b2ff1beb92bd3ac425dac2fa519d4b8191438be9 (HEAD -> dev1) '123456'
c9efd011b471765fc9fdd6eefaadf75b3b36153b (origin/dev1) '12345'
80f6cb77a9b13cd471b725b5ef66901150bf57bb '提交'
47d676dbf6d0687d76f059ee9ed044c4c378ed30 (origin/master, origin/HEAD) 'dev1的首次提交'
d5c756afd04abfdbc9bb2299064eab34b30ede5f (origin/dev, dev) '修改了index.js'
65f4c72f6c8e2c272d4e284c103e249c65ebff32 Initial commit
如果我们只想回滚到指定版本,可以使用:
git reset --hard c9efd
这里只需要写id号的前几个字母与数字就行,没必要全写,git会自动去检索。
但此时,我们再一次查看所有版本,发现:
c9efd011b471765fc9fdd6eefaadf75b3b36153b (origin/dev1) '12345'
80f6cb77a9b13cd471b725b5ef66901150bf57bb '提交'
47d676dbf6d0687d76f059ee9ed044c4c378ed30 (origin/master, origin/HEAD) 'dev1的首次提交'
d5c756afd04abfdbc9bb2299064eab34b30ede5f (origin/dev, dev) '修改了index.js'
65f4c72f6c8e2c272d4e284c103e249c65ebff32 Initial commit
最新写的那个丢失了。但我此时又后悔了,怎么办?
// 重新reset即可找回
git reset --hard b2ff1
现在,就可以退回最新版本了。
但这个方法前提是你当前这个控制台不曾关掉,如果已经关掉了,你是没法知道版本号的,这时候要怎么办呢?
// Git提供了一个命令git reflog用来记录你的每一次命令
git reflog
修改master的代码,执行:
git add .
git commit -m '提交master'
然后执行:
git merge dev
我们会发现,vscode提示代码冲突:
image.png
此时,我们只需要点击我们想要的选项,即可解决代码冲突。
需要到 控制面板-用户账户-凭据管理器-windows凭据
这里删除对应的git账户和密码。
常用命令:
仓库克隆
git clone xxx仓库地址
检查分支
git branch
检查仓库状态:
git status
添加到暂存区:
git add index.js
提交到暂存区 (-m就是message) :
git commit -m '提交'
推送代码到远程仓库:
git push origin master
创建和切换分支(checkout检查 -b 就是 branch):
git checkout -b dev
创建完分支一般随手都顺便做个提交 :
git push origin dev
切换到master与dev分支
git checkout master
git switch dev
拉取代码
git pull origin dev
检查过去版本
git log
git log --pretty=oneline
版本回滚
git reset --hard c9efd
分支合并与代码冲突
0、保证两个分支都已经push过
1、切换到master分支
2、修改master的代码并执行add和commit
3、切换回dev分支
4、在dev分支上合并master分支 (git merge master)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。