Git:修订间差异

无编辑摘要
无编辑摘要
第152行: 第152行:
|[https://git-scm.com/book/zh/v2/附录-C:-Git-命令-分支与合并《Pro Git》 中文版V2:附录 C: Git 命令 - 分支与合并]
|[https://git-scm.com/book/zh/v2/附录-C:-Git-命令-分支与合并《Pro Git》 中文版V2:附录 C: Git 命令 - 分支与合并]
}}
}}
==设置==
=== Linux终端显示当前Git分支 ===
进入用户的Home目录,编辑.bashrc文件
<syntaxhighlight lang="bash">
cd ~ 
vim .bashrc 
</syntaxhighlight>
将下面代码加入.bashrc文件末尾,并保存:
<syntaxhighlight lang="bash">
function git_branch {
  branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
  if [ "${branch}" != "" ];then
      if [ "${branch}" = "(no branch)" ];then
          branch="(`git rev-parse --short HEAD`...)"
      fi
      echo " ($branch)"
  fi
}
export PS1='\u@\h \[\033[01;36m\]\W\[\033[01;32m\]$(git_branch)\[\033[00m\] \$ '
</syntaxhighlight>
保存并退出,执行加载命令
<syntaxhighlight lang="bash">
source ./.bashrc
</syntaxhighlight>




第161行: 第186行:
*[https://git-scm.com/book/zh/v2 Git 文档:书籍《Pro Git》中文版]
*[https://git-scm.com/book/zh/v2 Git 文档:书籍《Pro Git》中文版]


==参考文献==
===文章===
*[https://zh.wikipedia.org/wiki/Git 维基百科:git]
*[https://zh.wikipedia.org/wiki/Git 维基百科:git]


[[分类:编程工具]]
[[分类:编程工具]]

2023年8月16日 (三) 15:18的版本

git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。

简介

时间轴

  • 2002年,林纳斯·托瓦兹决定使用BitKeeper作为Linux内核主要的版本控制系统用以维护代码。
  • 2005年,Andrew Tridgell违反的BitKeeper使用原则,进行逆向工程,导致无偿使用BitKeeper的许可被收回。 林纳斯·托瓦兹决定自行开发版本控制系统替代BitKeeper,以十天的时间编写出git第一个版本。
  • 2005年07月11日,发布git 0.99 版
  • 2005年12月21日,发布git 1.0 版
  • 2014年05年28日,发布git 2.0 版
  • 2020年03月23日,发布git 2.26 版


基本知识

基本原理

drawio: git工作原理

了解更多 >> 《Pro Git》 中文版V2:起步-Git-是什么?


.git 目录

所有git工作目录下都有个.git目录,该目录包含几乎所有git操作和数据内容。当使用git init初始化目录会自动生成该文件夹。

名称 描述
config 该项目的特有配置,

了解更多 >> 《Pro Git》 中文版V2:10.1 Git 内部原理 - 底层命令与上层命令


Git 命令

设置与配置

命令 描述 示例

了解更多 >> Git》 中文版V2:附录 C: Git 命令 - 设置与配置


创建和获取项目

命令 描述 示例
git init 初始化一个Git仓库 git init myproject
git clone 克隆一个Git仓库到本地 git clone https://github.com/git/git.git

快照

命令 描述 示例
git add 添加文件到暂存区 git add README.md
git add .
git commit 提交更新到本地仓库 git commit -m "Update README"
git status 查看文件状态 git status
git diff 比较工作区和暂存区差异 git diff
git reset 重置当前HEAD到指定状态 git reset --hard HEAD~1
git rm 从暂存区和工作区删除文件 git rm README.md
git mv 移动或重命名文件、目录 git mv file.txt file2.txt
git clean 删除工作区未跟踪文件 git clean -df

了解更多 >> Git》 中文版V2:附录 C: Git 命令 - 快照基础


分支

命令 描述 示例
git branch 列出/创建/删除分支 git branch列出所有分支
git branch -v
git branch dev创建名称为dev分支
git checkout 切换分支,或者检出内容到工作目录。 git checkout dev切换到dev分支
git log 查看提交历史记录 git log
git log --oneline
git tag 打标签,创建、列出、删除标签。 git tag列出标签
git tag -l "v2.3.5*"列出v2.3.5开头标签
git merge 合并一个或者多个分支
git mergetool 解决合并冲突
git stash 暂存当前工作目录状态

了解更多 >> Git》 中文版V2:附录 C: Git 命令 - 分支与合并


设置

Linux终端显示当前Git分支

进入用户的Home目录,编辑.bashrc文件

cd ~  
vim .bashrc

将下面代码加入.bashrc文件末尾,并保存:

function git_branch {
   branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
   if [ "${branch}" != "" ];then
       if [ "${branch}" = "(no branch)" ];then
           branch="(`git rev-parse --short HEAD`...)"
       fi
       echo " ($branch)"
   fi
}
export PS1='\u@\h \[\033[01;36m\]\W\[\033[01;32m\]$(git_branch)\[\033[00m\] \$ '

保存并退出,执行加载命令

source ./.bashrc


资源

官网

文章