Git学习笔记

此处记录笔者在学习Git上遇到的坑以及相关的学习笔记,留备日后避坑。新手上路,高手轻喷…

基本操作

跨团队协作

fork //复制他人远程库到自己远程库上

git clone

git push

pull request //拉取请求 >> 审核 >> merge 合并

设置签名

作用:区分不同开发人员的身份

这里设置的签名和登陆远程库(代码托管中心)的账号密码没有任何关系

命令:

项目级别/仓库级别:仅在当前本地库范围内生效(二者都有时优先采用)

git config user.name username
git config user.email email

信息保存位置:本地库/.git/config

系统用户级别:登陆当前操作系统的用户范围

git config --global user.name username 
git config --global user.email email

信息保存位置:~/.gitconfig

版本前进和后退

git reflog

黄色字段为部分哈希值(也是下面的索引值)

HEAD@{移动到当前版本需要多少步}

  • 基于索引值操作[推荐]

git reset --hard 局部索引值
  • 使用^符号:只能后退

git reset --hard HEAD^ //往前回滚一个版本
git reset --hard HEAD^^ //往前回滚两个版本
  • 使用~符号

git reset --hard HEAD~num //num为回退的步数

reset命令的三个参数对不

–soft

  • 仅仅在本地库移动指针

–mixed

  • 在本地库移动HEAD指针

  • 重置缓存区

–hard

  • 在本地库移动HEAD指针
  • 重置暂存区
  • 重置缓存区

删除文件并找回

  • 删除前,文件存在时的状态提交到了本地库

  • 操作:git reset --hard [指针位置]

    删除操作已经提交到本地库:指针位置指向历史记录

    删除操作尚未提交到本地库:指针位置使用HEAD

比较文件

  • 和暂存区进行比较:git diff [files]

    -[Red]

    +[Green]

  • 和本地上个版本进行比较:git diff [本地库历史版本] [files]

  • 不带文件名可以比较多个文件:git diff

分支操作

  • 创建分支:git branch [分支名]

  • 查看分支:git branch -v

  • 切换分支:git checkout [分支名]

  • 合并分支:

    第一步:切换到被合并的分支上:git checkout [被合并的分支名]

    第二步:执行merge命令:git merge [另一个分支名]

  • 解决冲突:

    第一步:编辑文件,删除特殊符号

    第二步:把文件修改到满意的程度,保存退出

    第三步:git add [文件名]

    第四步:git commit -m “日志信息” (此时commit一定不能带文件名)

克隆

  • 完整的把远程库下载到本地
  • 创建origin远程地址别名
  • 初始化远程库
  • 命令:git origin [远程库地址]

拉取

pull=fetch+merge

常用

git init //初始化本地库,并生成.git文件夹
git add <file> //添加到暂存区
git commit //添加到本地库
git status //查看状态
git checkout -- <file> //从暂存区撤销工作区的修改
git reset HEAD  <file> //从暂存区内删除该文件
git commit -m "commit message" <file> //提交到库上,并提交信息
git log //多屏查看历史版本记录。空格翻页、b向上翻页、q退出
git log --pretty=oneline //历史版本以每条一行的方式呈现
git log --oneline //历史版本以每条一行的方式呈现并只截取部分哈希值(仅显示当前版本的历史版本)
git reflog //在--online基础上出现HEAD@{num}(显示历史版本)
git help (command) //command为具体命令,可以查看该具体命令的文档
git branch -v //查看分支
git branch [new-branch] //创建一个名为new-branch的新分支
git checkout [branchname] //切换分支
git remote -v //查看远程库
git remote add [别名] [仓库远程地址] //设定远程库信息
git push [远程库别名] [分支名] //将本地库信息推送到远程库
git clone [仓库远程地址] //克隆远程仓库到本地
git fetch [远程库别名] [分支名] //将远程库信息拉取到本地,但没更改本地工作区的文件
git checkout [远程库别名]/[分支名] //切换到拉取的本地
git merge [远程库别名]/[分支名] //将拉取的本地内容合并到工作区
git pull [远程库别名] [分支名]= git fetch+git merge

别人的笔记:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值