ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Git学习笔记(详细)

2021-11-26 17:33:09  阅读:198  来源: 互联网

标签:git -- fix 笔记 hot Git 详细 com 远程


https://gitee.com/all-about-git git大全

概述

  • 官网:https://git-scm.com/
  • Git是一个免费的、开源的分布式版本控制系统
  • 代码托管中心(远程库):局域网GitLab、互联网GitHub、码云Gitee

安装Git

  • 官网下载,直接默认安装即可(尽量不要修改路径),鼠标右键出现Git Bash Here即安装成功。
  • 查看版本:git bash 里面执行git --version
  • git bash很卡,清理windows临时目录可以解决:C:\Users\Administrator\AppData\Local\Temp

常用命令

  • 查看所有命令git --help
  • 查看某个命令的帮助文档git add --help, 会出现网页的文档供查看
# 设置用户签名
$ git config --global user.name xxx
$ git config --global user.email xxx@example.com

# 检查配置
$ cat ~/.gitconfig

# 初始化本地库 将当前目录变成一个git仓库 会生成一个.git目录
$ git init

# 查看状态
$ git status

# 添加修改到暂存区(新文件、修改文件、删除文件都要add到stage)
$ git add hello.txt

# 删除暂存区里的文件
$ git rm --cached hello.txt

# 提交到本地库 -m说明 不写也会打开一个编辑器让写
$ git commit -m "my first commit" hello.txt		# 或者git commit hello.txt -m "comment"
$ git commit -m "my first commit"				# 提交所有暂存区的修改
$ git commit -am "hot fix first commit "		# 相当于add + commit 自动提交所有修改到暂存区, 并提交到本地库
# 查看版本日志
$ git reflog  # 引用日志, 记录所有版本的版本号, 包括回滚, 精简版
$ git log     # 查看详细日志(提交作者和提交日期), 只有当前版本和以前的版本信息
$ git log --pretty=oneline # 在一行内显示

# 版本穿梭, 移动的是head指针, master分支 -> head指针 -> 具体的版本
$ git reset --hard xxxxxxx	# 根据git reflog中的版本号进行穿梭版本
$ git reset --hard HEAD^	# ^^表示回退两个版本,HEAD~100表示回退100个版本

分支管理

$ git branch --help	# 查看所有branch命令
$ git branch		# 查看所有分支 *号表示当前分支
$ git branch -v		# 查看所有分支
$ git branch hot-fix	# 创建分支hot-fix
$ git check hot-fix		# 切换到分支hot-fix
$ git merge hot-fix		# 将hot-fix分支合并到当前分支 如果两个分支同时修改了同一个文件会有冲突 当前状态会在MERGING状态 此时需要编辑冲突的文件 其中会标出当前分支修改的部分 hot-fix分支修改的部分 修改后再提交
$ git branch -d hot-fix		# 删除分支, 需要保证该分支的内容已经合并到它的HEAD版本的分支

团队协作:

  • 团队内协作,一个远程库即可,需要创建者加入权限,开发者clone代码到本地库,修改后push,其他成员pull即可
  • 跨团队协作,fork别的远程库,修改后push,发起pull request请求远程库拉取自己修改后的代码,审核通过会merge到他们的远程库里
    公共库都可以clone,不需要验证,首先需要在github上创建远程仓库git-demo,可以在github上邀请协作
    ssh免密登录
# 由于本地git仓库和远程git仓库是通过SSH加密的,所以需要配置ssh,首先本地生成ssh的公钥和私钥,将公钥配置到github上,配置了ssh免密登录才可以使用git@github.com:YourName/xxx.git,否则只能使用https://github.com/YourName/xxx.git,且需要验证
$ ssh-keygen -t rsa -C bingmous@163.com		# 直接回车,在用户目录下会生成.ssh目录,里面有公钥和私钥

团队内协作

####已有本地仓库,在github上创建仓库后,将本地仓库同步到远程库
$ git remote add ori https://github.com/bingmous/git-demo.git	# 添加远程库 git remote add 别名 地址(远程仓库的地址)
$ git remote add origin https://gitee.com/bingmous/git-demo.git		# gitee 注意ori只是一个别名
$ git remote -v		# 查看远程库,会有fetch和push两个 -v表示详细
$ git push -u ori master	# 推送当前库到远程库(第一次推送)-u使用ori作为上游
$ git pull origin master	# 拉取最新代码

####直接从远程库clone
$ git clone https://gitee.com/bingmous/git-demo.git # clone做了三件事 拉取代码 初始化本地仓库 创建远程库别名(默认为origin)

跨团队协作

  • fork一下,会在自己的远程库里多一个fork的库
  • 修改代码后,提交,并创建pull request,发送pull request,在对方的仓库下就可以看到你的pull request
  • 对方看到pull request后可以看到修改的代码,并与自己的代码合并

标签:git,--,fix,笔记,hot,Git,详细,com,远程
来源: https://www.cnblogs.com/bingmous/p/15605587.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有