美文网首页
Git系统学习笔记

Git系统学习笔记

作者: Sky_Blue | 来源:发表于2019-05-24 16:50 被阅读0次
一、相关网站
  1. git官网
  2. GitLab官网

二、Git文件的三种状态
  1. 已修改(modified)
  2. 已暂存(staged)
  3. 已提交(commited)
  4. 工作区(开发) --> 暂存区( add ) --> 版本库(commit)

三、Git基本命令
  1. git init 初始化。生成.git文件夹和里面一系列文件。
  2. git add text.txt(添加文件到暂存区)
  3. git rm --cached text.txt(将文件回退到工作区)
  4. git commit -m 'init message' 提交修改的文件到版本库
    git commit --amend -m '修正提交信息'
    git commit -am '添加并提交'
  5. git checkout -- text.txt 将版本库的内容覆盖到当前文件
  6. git status 查看当前状态
  7. git rm text.txt 删除文件,将删除文件纳入到暂存区。

四、user.name 和 user.email(三个地方可以配置)

查看用户配置信息:git config --global --list

  1. 系统的(几乎不用), git config --system user.name 'lfw'
  2. 全局的, git config --global user.name 'lfw'
  3. 针对特定项目, git config --local user.name 'lfw'
  4. cat ~/.gitconfig 查看配置
  5. git commit --amend --reset-author 重新配置用户信息
  6. 记住用户名和密码(进入目录):git config --global credential.helper store
五、.gitignore文件

忽略文件.png

六、分支
  1. 查看分支 :git branch 或者 git branch -a 或者 git branch -av

  2. 创建新的分支 :git branch v_new_branch

  3. 切换分支: git checkout v_new_branch

  4. 创建并切换分支:git checkout -b test(分支名称)

  5. 切换到某次提交:git checkout 5a7cf(提交的Logid)

  6. 根据某次提交的Log Id创建一个新的分支:git branch fixbug(分支名称) 5a7cf(提交的Logid)

  7. 修改分支名称:git branch -m master master2(名称由master 改成 master2)

  8. 推送新的分支:
    git push --set-upstream origin dev (dev:dev2)
    git push -u origin test
    一样的效果
    git push origin HEAD:dev2
    git push origin dev:dev2

  9. 拉取远程分支:
    git checkout -b dev origin/dev
    git checkout --track origin/dev

  10. 删除本地分支:git branch -d dev

  11. 删除远程分支:
    git push origin :dev(将本地空的分支推送到远程分支)
    git push origin --delete dev

  12. 克隆远程分支:git clone 远程仓库地址 文件夹

  13. 合并某分支到当前分支:git merge <name>

checkout.png

git checkout -- 文件 :工作区的内容,回到最后一次add到暂存区的内容。
git reset HEAD test.txt :移除一次add。

git修改远程仓库地址(三种方法):

1.修改命令

git remote origin set-url [url]

2.先删后加

git remote rm origin
git remote add origin [url]

3.直接修改config文件

七、临时保存(stash)
  1. git stash save '分支修改Bug,临时保存工作内容'
  2. git stash pop 恢复最后一个临时保存工作内容。
  3. git stash list 查看临时保存列表。
  4. git stash apply stash@{1} ,回复到列表中的指定位置。
  5. git stash drop stash@{0} ,删除一条临时保存。


    stash.png
八、Git标签
  1. git tag v1.0.0 简单的打个标签
  2. git tag -a v1.0.5 -m '带消息的' 带注释信息的打标签
  3. git tag 查看标签列表
  4. git tag -l 'v*' 查找tag
  5. git tag -d v1.0.0 删除本地tag
    git push origin :refs/tags/v1.0
    git push origin --delete tag v1.0
  6. git push origin v1.0 v2.0 (将标签推送到远程)
  7. git push origin --tags(推送所有标签到远程)


    Git标签.png
九、Diff 和文件删除
  1. git blame test.txt (查看这个文件修改信息)


    diff.png
  2. rm -rf .git(删除文件夹下的内容包括文件夹)
  3. rm -rf * 删除当前目录下的所有文件
十、关联远程仓库(常用)
  1. 创建本地git:git init
  2. 添加到暂存区: git add .
  3. 提交到本地仓库: git commit -m '准备关联远程仓库'
  4. 去创建远程项目,并得到远程项目的地址
  5. 本地添加远程仓库: git remote add origin 远程仓库的项目地址
  6. 如果是SSH,就配置一下SSH:git remote show origin
  7. 关联本地仓库: git push -u origin master
  8. 输入帐户和密码,搞定。
强制更新

git fetch --all
git reset --hard origin/master

本地分支关联到远程分支

git branch --set-upstream-to=origin/master master

SSH配置
  1. git remote show 显示远程仓库名称
  2. git remote show origin(远程仓库名称),显示详情信息
  3. SSH生成配置
      1. 查看:which ssh-keygen
      1. 生成:ssh-keygen (回车、回车就行)
        完整生成:ssh-keygen -t rsa -C "邮箱名称" (回车、回车就行)
      1. 复制id_rsa.pub复制到远程仓库
分支开发模型
分支开发模型.png

设置别名: git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'

多模块开发一:submodule
  1. 添加submodule:git submodule add git@github.com:wenkency/git_child.git libxxx
  2. 更新远程:git submodule foreach git pull
  3. 克隆一:
    git clone http://xxx parent
    git submodule init
    git submodule update --recursive
  4. 克隆二:
    git clone http://xxx git_parent --recursive
    5.删除submodule
    git rm --cached libxxx
    rm -rf libxxx
    git add .
    git commit
多模块开发二:subtree
  1. 关联:git remote add subtree-origin http://xxx
  2. 添加: git subtree add --prefix=subtree(目录) subree-origin master --squash
  3. 更新:git subtree pull --prefix=subtree subtree-origin master --squash
  4. 推送:git subtree push --prefix=subtree subtree-origin master

--squash(合并提交信息) ,生成提交新的ID。--squash要么都用,要么都不用

其它命令
  1. cherry-pick
  2. rebase(和merge)
  3. 处理git 访问不到22端口问题 ,在.ssh目录下,创建config并添加下面内容
    Host github.com
    User 61128910@qq.com
    Hostname ssh.github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
    Port 22

相关文章

  • Git入门及常用方法

    Git学习笔记 关于 Git 的背景知识 Git 是什么Git——分布式版本控制系统,Linus使用C编写 Git...

  • git命令笔记

    git学习笔记 Git 是一个开源的分布式版本控制系统 CVS 及 SVN 都是集中式的版本控制系统,而 Git ...

  • GIT笔记

    本文章是学习廖雪峰老师的《GIT教程》的笔记。 一.安装GIT 因为Git是分布式版本控制系统,所以,每个机器都必...

  • Git学习笔记

    Git学习笔记 Git是什么 分布式版本管理系统 本地仓库与远程仓库 本地仓库在当前文件夹下执行 git init...

  • 学习笔记| git深入浅出 Part1_快速操作指南

    Git专题 学习笔记| git深入浅出 Part1_快速操作指南 学习笔记| git深入浅出 Part2_Git...

  • Git笔记

    Git笔记 从廖雪峰的官方网站学习git后的总结。 Git介绍 Git是分布式版本控制系统 集中式VS分布式,SV...

  • git 入门

    git 入门学习笔记----3个入门命令:git init、git add、git commit -v 学习场景(...

  • git学习笔记

    0. 前言 git在团队协作中有重要作用,是有必要进行系统学习的一门工具。本篇是笔者学习git操作的备忘笔记,主要...

  • Git系统学习笔记

    一、相关网站 git官网 GitLab官网 二、Git文件的三种状态 已修改(modified) 已暂存(stag...

  • Git 系统学习笔记

    公众号内发送Git获取Git官方PDF教程 版本控制 版本控制是一种记录一个或若干个文件内容变化、以便将来查阅特定...

网友评论

      本文标题:Git系统学习笔记

      本文链接:https://www.haomeiwen.com/subject/szdvzqtx.html