1.创建仓库
- 登录 github首页
start a project ,写上名字,选择SSH 验证方式即可。
2. 克隆仓库
使用 git bash,进入一个工作目录,执行命令:
git clone git@github.com:gaoyx/AutoTest.git
这时候会报一个错误:
Cloning into 'AutoTest'...
The authenticity of host 'github.com (13.250.177.223)' can't be established.
百度了一下,是因为少了一个known_hosts文件,本来密钥文件应该是三个,现在是两个,便报了这样的错误,此时选择yes回车之后,便可,同时生成了缺少了的known_hosts文件。 AutoTest 仓库也可以成功克隆下来了。
3. push(推送)代码
- 在仓库里面新建一个内容:vi qa.txt ,写入aaa ,保存。
- 查看有哪些改动
git status
,出现如下:
image.png
- 使用
git add qa.txt
把文件添加到暂存区。git add .
代表的是添加所有内容 - 提交已经被add进来的改动.
git commit -m "提交测试文件"
- push到 git仓库:
git push
提交成功后可以在github上看到提交的文件以及说明。
4. pull(拉取)代码
git pull
5. 创建新的分支
- 首先查看下当前分支
git branch: 列出本地所有分支,当前分支会被星号标示出.
git branch -a : 列出所有分支,包括远端。 - 创建分支
git checkout -b (branchname): 创建并切换到新的分支. - 提交分支到远程
git push
此时会提示错误并且有个建议的命令git push --set-upstream origin branch1
执行即可成功推送新的分支到远程仓库
5. 删除分支
- 删除本地分支
git branch -d "branch的名字"
注意:不能删除当前所在分支,如果删除,需要先切换到其他分支。 - 删除远程分支
git branch -r -d origin/branch1
这时候并没有真正的删除,需要提交到远程仓库才正式在远程删除。
执行如下操作:
git push origin :branch1
6. 合并分支
- 首先新建一个分支mergedemo,修改原有文件代码 push到远程仓库
- 切换到 master 分支
现在2个分支的代码是不一样的。 - 执行合并
git merge mergedemo
当执行合并遇到冲突的时候,代码会有不一致的标识,只需要手动修改文件,再次提交即可。
7. 版本回退
提交了N次以后,发现想撤销原来的提交,返回到前面的1个步骤
- 回退一次提交 命令:
git reset --hard HEAD^
- 回退二次提交 命令:
git reset --hard HEAD^^
回退几次提交,就加几个 ^,也可以用 HEAD~n 代替 - 退回到指定版本
01.执行git reflog
可以看到每次的提交以及版本信息:
gaoyx@gaoyx-PC MINGW64 ~/workspace/muke/AutoTest (master)
$ git reflog
d25532b (HEAD -> master, origin/mergedemo, mergedemo) HEAD@{0}: merge mergedemo: Fast-forward
64bef3c (origin/master) HEAD@{1}: checkout: moving from mergedemo to master
d25532b (HEAD -> master, origin/mergedemo, mergedemo) HEAD@{2}: commit: 提交合并的内容
64bef3c (origin/master) HEAD@{3}: checkout: moving from master to mergedemo
64bef3c (origin/master) HEAD@{4}: checkout: moving from branch1 to master
8a08cd0 HEAD@{5}: commit: 提交新的内容到 branch1
64bef3c (origin/master) HEAD@{6}: checkout: moving from master to branch1
64bef3c (origin/master) HEAD@{7}: commit (initial): 提交测试文件
gaoyx@gaoyx-PC MINGW64 ~/workspace/muke/AutoTest (master)
02. 执行git reset --hard 64bef3c
即是回到 64bef3c 这个版本。
网友评论