16.Git

介绍

https://git-scm.com/

Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目。版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统 。

版本控制分类

  • 集中化的版本控制系统
    • 集中化的版本控制系统诸如CVS, SVN 以及Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法,这种做法带来了许多好处,现在,每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个集中化的版本控制系统;要远比在各个客户端上维护本地数据库来得轻松容易。
      事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。如果服务器宕机一小时,那么在这一小时内, 谁都无法提交更新,也就无法协同工作
  • 分布式的版本控制系统
    • 在这类系统中,像Git, BitKeeper 等,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。

配置用户信息

配置个人的用户名称和电子邮件地址:

git config --global user.name "XXX"

git config --global user.email 111222333@qq.com

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。

查看配置信息

git config --list

工作流程

image

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:或本地仓库
  • remote repository:远程仓库(码云)
git init - 初始化仓库。
git add . - 添加文件到暂存区。
git commit -m ‘备注’ - 将暂存区内容添加到仓库中。
git status - 查看文件状态
git log    -- 查看文件日志
    --oneline 选项来查看历史记录的简洁的版本。
    --graph 选项,查看历史中什么时候出现了分支、合并。
    --reverse 参数来逆向显示所有日志。
    --author查找指定用户的提交日志可以使用命令
git reset  --hard  commitID  --版本切换
git reflog --查看操作记录

image

分支管理

git branch <名称>  - 创建分支
git checkout <名称> - 切换分支
git checkout -b <新分支名> [Commit节点]  - 创建并切换分支
git merge <另一个分支名> - 合并分支
git branch - 列出分支
git branch -d <名称> - 删除分支

合并冲突:相同文件同一样出现不同代码,合并时会发生冲突

远程仓库

Git 并不像 SVN 那样有个中心服务器。目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。

  • 添加远程库

要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:

git remote add [shortname] [url]

例子:git remote add origin https://gitee.com/wang0111/HelloWorld.git

  • 查看当前的远程库

要查看当前配置有哪些远程仓库,可以用命令:

git remote
  • 提取远程仓库

    Git 有两个命令用来提取远程仓库的更新。

    1、从远程仓库下载新分支与数据,该命令执行完后需要执行git merge 远程分支到你所在的分支。

git fetch

2、从远端仓库提取数据并尝试合并到当前分支,该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行 git fetch [alias] 告诉 Git 去获取它有你没有的数据,然后你可以执行 git merge [alias]/[branch] 以将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。

git merge
  • 推送到远程仓库

    推送你的新分支与数据到某个远端仓库命令:

git push [alias] [branch]
git push -u origin master
  • 删除远程仓库
git remote rm [别名]
posted @ 2025-06-10 09:47  icui4cu  阅读(12)  评论(0)    收藏  举报