Git & Github 笔记:

1. Git 安装:

下载地址: https://git-scm.com/download/

2. Git 结构

  • 工作区
  • 暂存区
  • 本地库

3. Git 初始化本地库

  • git init

4. Git 设置签名

  • 目的:区分代码都是谁提交的,方便团队之间合作
  • 级别:
    • 项目级别: git config user.name XXX; git config user.email xxxx@qq.com
    • 系统用户级别 : git config --global user.name XXX; git config --global user.email xxxx@qq.com
    • 优先级: 就近原则
  • 项目级别的设置的签名可以在该项目的目录下的.git/config文件中看到,系统用户级别的配置可以在桌面的隐藏文件.gitconfig 中看到

4. Git 添加、提交、查看状态

  • 查看状态:git status,查看工作区、暂存区的状态
  • 添加: git add FileName 把工作的文件添加到暂存区
  • 提交:gti commit -m "commit message" FileName,把暂存区的文件提交到本地库

5. 版本的前进、后退

  • 查看文件的日志:
    • git log: 显示的信息较为完整,多屏展示时,空格向下翻页,B向上翻页
    • git --pretty=oneline: 显示的形式更漂亮简洁了
    • git --oneline:显示形式简洁,更适合回退版本的操作,只显示当前以及以前的日志
    • git reflog : 显示的信息增加了几个,HEAD{移动到该版本的步数}
  • 版本前进、回退:
    • 基于索引值的操作
      • git reset --hard 哈希值:工作区、暂存区、本地库一起回退
      • git reset --mixed 哈希值:本地库和暂存区一起回退
      • git reset --soft 哈希值:本地库回退
    • 基于^操作: git reset -- hard HEAD^^^,有几个^回退几步(这个操作只会后退)
    • 基于~操作: git reset --hard HEAD~3,在~后面直接加回退几步就可以。(这个操作只会后退)

6.删除文件的找回

  • 前提:删除前,文件曾经存在于本地库
  • 在本地库中删除的文件,类似与版本回退的操作,将HEAD指针回退到建立的文件时,就能找回文件
  • 命令: git reset --hard 【指针位置】

7.比较文件

  • git diff [文件名]
    工作区与暂存区比较
  • git diff HEAD [文件名]
    可以与本地库和历史版本的文件进行比较

8.分支操作

  • git branch -v :显示有哪个分支
  • git branch [分支名]:创建新分支
  • git checkout [分支名]:切换分支
  • git merge:
    • 首先,需要切换到被合并的分支上
    • 然后git merge [另一个分支名]
    • 产生冲突
      • 情况:两个分支在开发时都可进行修改,如果修改是同一个文件的同一行会产生冲突
      • 解决办法:手动解决,哈哈哈 ?

9.在本地创建远程库地址的别名

  • git remote -v :显示远程库的地址信息
  • git remote add [远程库地址]

10. 推送操作

  • git push orgin master

11.克隆操作

  • git clone [远程库地址]
    克隆操作后,也会把这个库的配置信息下载下来,比如会有一个.git文件,git remote -v还有这个远程库的配置信息.

12.邀请其它用户加入团队成员

  • 在远程仓库中有个Setting → \to Collaborators :添加其他用户进该项目组
  • 加入该团队后就有写的权限了,也就是拉取远程项目,修改后就可以有权限进行推送了。

13.远程库的修改的拉取

  • git fetch [远程库地址别名][远程分支名]:将远程库的文件拉取下来后,并没修改本地库的文件,需要切换分支后,查看内容。
  • git merge [远程库地址别名][远程分支名],将本地库与下载的远程库进行合并

14.协同开发时冲突的解决

  • 这和分支冲突的解决类似,同一个用户组的不同用户,对其项目进行修改相同的行的内容时,github以先提交的项目内容保存,而后来用户提交时,会产生冲突。
  • 根据提示的信息修改文件信息即可。

15.跨团队协作

  • 不在组的用户,首先进行fork别的项目
  • clone到本地库,进行修改,修改完成后push到自己的远程库
  • 在远程库中进行pull Request
  • 在项目中的主用户可以根据修改的情况进行merge

16.SSH名密码用户

  • ssh-keygen -t rsa -C [github邮箱] 在自己的电脑上产生一个SSH的密钥,产生了私钥和公钥。
  • 将公钥添加到github的Setting,SSh and GPG keys中,即可

18.Eclipse中Git插件的简介

  • Eclipse中有内置的Git插件
  • 可以在Windows → \to Preferences → \to Team → \to Git → \to Configration`,进行配置本地库范围的签名
  • 在Eclipse中把工程初始化为本地库,工程 → \to 右键 → \to Team → \to Share Team…
  • Eclipse 配置忽略的配置从而忽略一些特定的文件(Eclipse为了管理我们创建的工程而维护的文件和开发的代码没有直接关系,最好不要在Git中进行追踪,也就是把他们忽略)
  • 关于从github上拉取项目的道理也相同,使用pull进行拉取,再转换成maven的形式。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值