Git工具使用小结

  昨天开始看一套java接口自动化的视频,今天看到的一章是关于git这个工具使用的,上大学那会用过svn作为版本管理工具,包括现在所在的公司,用的也还是svn进行管理。其实老早就听闻过Git,Github,但就是一直没去了解。也就是在18年初寒假那会看一个linux视频时,里面有讲到如何在linux上面配置git,但我也是一看就过了。

  现在看的是Java接口自动化的视频,里面老师也介绍了这个工具会在课程中使用到,所以也刚好趁这个机会跟着耍耍。

  GitHub的特点:

  1. 开源的分布式版本管理系统
  2. 开源项目集中的代码库
  3. 所有略有规模的公司都在使用

  GitHub的功能介绍:

  1. 记录多个版本
  2. 查看历史版本,可以进行版本回退和前进的控制
  3. 多端共享代码,自动合并

  GitHub和SVN

  1. SVN版本集中管理,所有的代码都在中央服务器上
  2. Git去中心化,每个服务器上都有一个完整的代码库

   *Git客户端本地与GitHub服务端进行交互,可以通过配置sshkey进行交互,操作时就不用输入用户名和密码了,配置sshkey公文密钥的步骤:

  打开Git命令行,

  1. 生成key: ssh-keygen -t rsa -C "邮箱地址"
  2. cd  ~/.ssh (用户目录下的.ssh文件夹)
  3. 复制id_rsa_pub的公钥内容到github网站上(在setting-->SSH and GPG keys中)

 

  Git的一些常用命令

  代码提交

  添加指定文件到暂存区

  git add [file1] [file2]...

  添加当前目录的所有文件到暂存区

  git add.

  提交暂存区到仓库区

  git commit -m [message]

  提交暂存区的指定文件到仓库区

  git commit [file1][file2]... -m [message]

  更新远程仓库

  git remote update

  取回远程仓库的变化,并与本地分支合并

  git  pull  [remote][branch]

  上传本地分支到远程仓库

  git push [remote][branch]

  

  分支操作

  创建分支

  git branch [branch-name]

  切换分支

  git checkout [branch-name]

  删除分支

  git branch -d [branch-name]

  删除分支(远程仓库)

  git push origin -delete [branch-name]

   版本回退

    回退到上一版本

       git reset --hard  HEAD^ 

  回退到指定版本

  git reset --hard [版本号]

  查看版本记录,得到版本号

  git reflog

 

  解决分支合并冲突

  合并分支命令

  git merge [branch-name]

  合并后出现冲突部分,Git会用<<<<<<<,=======,>>>>>>>标记出不同分支的内容。

  小结:当Git无法自动合并分支的时候,就必须首先解决冲突。解决冲突后再次提交,合并完成。解决冲突就是把Git合并失败的文件手动编辑成我们希望的内容,之后再提交。

   

  一篇对于新手来说很实用的博客https://blog.csdn.net/autfish/article/details/52513465,Mark

  

  

 

  

posted @ 2019-01-14 22:00  xyttt06  阅读(120)  评论(0编辑  收藏  举报