目录
文章目录
链接
Git 完整命令手册
git常用操作-微信
git高级用法-微信
图解Git工作原理及操作命令 (sohu.com)
git原理解释:git pull,git fetch,git merge的关系-CSDN
简介
Git介绍
Git是一个分布式版本控制系统,GitHub 和 GitLab 都是基于 web 的 Git 仓库。
@w=550
远程仓库是本地仓库的异地备份,
远程仓库的内容可能被分布在多个地点的处于协作关系的本地仓库 修改,因此它可能与本地仓库同步,也可能不同步,但是它的内容是最旧的。
只有把修改提交到本地仓库,该修改才能在仓库中留下痕迹;
github VS.gitlab
相同
- github,和gitlab都是基于git开发的管理代码软件(版本控制系统)。
不同
1.github
- github的登录网站:https://github.com/
- github选择新建项目为私人时需要收费!
- 目前github只支持搭建本地服务器的个人github,只能供个人使用。
2.gitlab
- gitlab的登录网站:https://gitlab.com/users/sign_in
- gitlab选择新建项目为私人时不需要收费!
- 而gitlab提供开源代码,支持企业自己用企业买的服务器搭建企业gitlab,供公司所有人使用。
目前主流都是公司用自己买的服务器去搭建公司内部使用的gitlab,且gitlab支持一些插件写入自己的服务器脚本,从而可以设置公司每位成员的文件使用权限,从而确保公司项目代码的最大程度的保密和安全!!
下载配置
配置
Github 简明教程 | 菜鸟教程 (runoob.com)-配置
使用及密码配置
GitHub介绍和使用 - 知乎
gitee
使用
用户信息 config
$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com
git config --list
创建仓库 init
git init newrepo
分支管理 branch
当你执行 git init 的时候,默认情况下 Git 就会为你创建 master 分支。
如果我们要手动创建一个分支。执行 git branch (branchname)
即可。
# 查看分支
git branch
# 创建分支
git branch (branchname)
# 切换分支
git checkout (branchname)
# Switched to a new branch 'newtes
git checkout -b newtest
#删除分支
git branch -d testing
git branch -r
#查看远程分支
切换分支checkout
git checkout master //选择or切换到master分支
git merge dev //将dev分支合并到当前分支(master)中
拉取代码 clone
git clone -b 分支名 TFS克隆的HTTP
显示 show
git show
#查看最近一次commit
git show commitId
#查看指定commit
提交 commit
git commit -m "注释"
如果对最后一次commit不满意,可以使用
git commit --amend'
行撤销,修改之后再提交。
amend的本意:原地修改,让上一次提交不露痕迹。
推送 push
git push
标签 tag
如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。
-a 参数来创建一个带备注的tag,
备注信息由 -m 指定。
git tag
#列出所有标签列表
git show 标签名
#查看标签信息
git tag 标签
#轻量标签-添加标签(默认对当前版本)
git tag -a 标签
#打标签,-a
git tag -a 标签 -m '描述'
#创建新标签并增加备注
git tag -a 标签 commit_id
#追加标签,没有-m会自动打开一个类似于vm的命令窗口
git tag -a 标签 commit_id -m '描述'
#追加标签,有-m
git tag -d 标签
#删除本地标签
git push origin 标签
#将tag 推送到远程服务器
git push origin :refs/tags/tagName
#远程删除某个tag
拉取 fetch
@w=550
- git强制覆盖本地命令
git fetch命令-CSDN
git fetch --all
#取回远程库的所有修改;
git reset --hard origin/develop
#指向远程库origin的develop(可更改成自己想要取的远程分支)
git pull
#把远程库拉取到本地库,可以省略
比较不同 diff
@w=550
来比较下上图中5种不同的diff方式:
git diff 提交点1 提交点2
比较不同的提交点之间的异同
-git diff 其他分支名称
比较当前分支与其他分支的异同git diff HEAD
在当前分支内部进行比较,比较最新提交点与当前工作目录git diff --cached
在当前分支内部进行比较,比较最新提交点与暂存区的内容git diff
在当前分支内部进行比较,比较暂存区与当前工作目录,用
git fetch --all
#取回远程库的所有修改;
git reset --hard origin/develop
#指向远程库origin的develop(可更改成自己想要取的远程分支)git pull #把远程库拉取到本地库
合并merge
merge vs rebase- 知乎
Git的branch应该怎么merge- 知乎
拉取合并 pull
pull = fetch+merge
日志 log
#图格式显示所有日志
git log --graph
#一行格式显示所有日志
git log --oneline
# 查看历史提交记录。
git log
# 以列表形式查看指定文件的历史修改记录。
git blame <file>
# 用 --oneline 选项来查看历史记录的简洁的版本。
git log --oneline
git创建项目仓库:
git init 初始化
git remote add origin url 关联远程仓库
git pull
git fetch 获取远程仓库中所有的分支到本地