git的基本使用

1.创建仓库
  • 登录 github首页
    start a project ,写上名字,选择SSH 验证方式即可。
2. 克隆仓库

使用 git bash,进入一个工作目录,执行命令:
git clone [email protected]: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 这个版本。

你可能感兴趣的:(git的基本使用)