博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git的使用
阅读量:5943 次
发布时间:2019-06-19

本文共 2457 字,大约阅读时间需要 8 分钟。

版本库,又名仓库,英文名repository。这个目录里面所有的文件都可以被git管理起来。$cd D:

$cd coding
$mkdir testgit
$cd testgit
$pwd 就是print working directory

git官方文档:

一、git客户端的使用

【本地仓库】

  1. 通过命令把这个目录变成git可以管理的仓库,如下:

    $git init取消置为仓库($rm -rf .git)
  2. 把文件添加到版本库中。

    $git add readme.txt     添加到暂存区中($ git add --all)$git commit -m 'readme.txt'   把文件提交到本地仓库。引号中的内容是提交的注释$git status 提交文件前,提交后都需要查看一下状态,显示是否存在需要提交的文件$git log    查看版本的历史记录

回退:

git reset --hard

【远程仓库】本地git仓库和github仓库之间的传输是通过ssh加密的。

  1. 创建ssh key,如下:

    $ssh-keygen -t rsa -C "418954781@qq.com"
  2. 增加ssh key。登录github,打开settings中的ssh keys,点击add ssh key完成增加。

  3. 添加远程库。在github界面create a new repository,例:testgit。

    可以从这个仓库中克隆出新的仓库,也可以把一个已有的本地仓库与之相连。
  4. 将本地仓库与远程仓库进行连接,如下:

    $git remote add origin https://github.com/sll778/testgit.git$git push -u origin master 第一次推送时,需要加上-u参数,git不但会把本地的master分支内容推送给远程新的master分支,还会把本地的master分支和远程的master分支关联起来。(简化命令:$git push origin master)
  5. 如需要更换连接,则先进行remove: $git remote rm origin

【更新远程仓库代码】

  1. 将远程代码更新到本地

    $ git pull
  2. 将本地代码更新到远程仓库(将本地修改全部提交)

    $ git status$ git add --all $ git commit -m 'test'$ git push

【删除远程仓库代码】

  1. 本地删除文件,并查看状态

    $ git status
  2. 暂存区删除文件,并查看状态,提交至远端

    $ git rm test.txt$ git status$ git commit -m 'delete'\$ git push

【分支的新建与合并】

  1. 新建并切换到新的分支

    $ git checkout -b iss53相当于执行以下两条命令:$ git branch iss53$ git checkout iss53
  2. 将iss53分支提交,中途切回master分支

    $ git commit -a -m 'added a new footer'$ git checkout master
  3. 创建紧急修补分支

    $ git checkout -b hotfix$ git commit -a -m 'fixed the broken email address'
  4. 返回master分支,将hotfix分支合并

    $ git checkout master$ git merge hotfix
  5. 删除不需要的分支

    $ git branch -d hotfix
  6. 返回iss53分支继续工作,先merge主分支master

    $ git checkout iss53$ git merge master$ git commit -a -m 'finished the new footer'

二、eclipse + github

由于之前exam已经有用到git,所以没有再安装git的插件(是不是eclipse中本来就有git了)。然后使用时发现右击项目进行commit和push可以成功,但是Synchronize workspace界面的push按钮是灰色的。查了半天还是没有找到原因。

三、github

  1. 克隆现有的仓库。git克隆的是该git仓库服务器上的几乎所有数据,而不是仅仅复制完成你的工作所需要文件。

    $ git clone
    克隆远程仓库时重命名
    $ git clone mylibgit

  2. 已跟踪文件、未跟踪文件。

    已跟踪的文件是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它们的状态可能处于未修改,已修改或已放入暂存区。工作目录中除已跟踪文件以外的所有其它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。初次克隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。

    1. 忽略文件

      有些文件无须纳入git的管理,也不希望他们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

    $cat .gitignore

    *.[oa] //第一行告诉 Git 忽略所有以 .o 或 .a 结尾的文件。
    *~ //第二行告诉 Git 忽略所有以波浪符(~)结尾的文件。

四、解决冲突

如何贡献自己的代码:将别人的项目fork到自己的github中,将代码push到自己github项目,再进行pull request请求合并。
冲突标记<<<<与====之间的是本地修改,====与>>>>之间的内容是合入的修改。
可以使用图形界面工具解决冲突:

$git mergetool

在本地解决冲突之后,继续进行add和commit的操作,然后push,解决冲突完成。

转载地址:http://kfzxx.baihongyu.com/

你可能感兴趣的文章
gopacket 使用
查看>>
AlertDialog对话框
查看>>
我的友情链接
查看>>
linux安全---cacti+ntop监控
查看>>
鸟哥的linux私房菜-shell简单学习-1
查看>>
nagios配置监控的一些思路和工作流程
查看>>
通讯组基本管理任务三
查看>>
赫夫曼编码实现
查看>>
html页面显示div源代码
查看>>
基础复习-算法设计基础 | 复杂度计算
查看>>
debian、ubuntu系统下,常用的下载工具
查看>>
带以太网的MicroPython开发板:TPYBoardv201温湿度上传实例
查看>>
OSGI企业应用开发(十二)OSGI Web应用开发(一)
查看>>
Python 以指定概率获取元素
查看>>
微信公众平台图文教程(二) 群发功能和素材管理
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
wdcp 安装
查看>>
asterisk配置
查看>>
GA操作步骤和技巧(二)——用户行为分析
查看>>
shell中while循环里使用ssh的注意事项
查看>>