Git命令入门

简介: - 开始一个工作区(参见:git help tutorial) clone 克隆一个版本库到一个新目录 init 创建一个空的 Git 版本库或重新初始化一个已存在的版本库 - 在当前变更上工作(参见:git help everyday) add 添加文件内容至索引 mv 移动或重命名一个文件、目录或符号链接
  • 开始一个工作区(参见:git help tutorial)
    clone 克隆一个版本库到一个新目录

init 创建一个空的 Git 版本库或重新初始化一个已存在的版本库

  • 在当前变更上工作(参见:git help everyday)
    add 添加文件内容至索引

mv 移动或重命名一个文件、目录或符号链接
reset 重置当前HEAD到指定状态
rm 从工作区和索引中删除文件

  • 检查历史和状态(参见:git help revisions)
    bisect 通过二分查找定位引入 bug 的变更

grep 输出和模式匹配的行
log 显示提交日志
show 显示各种类型的对象
status 显示工作区状态

  • 扩展、标记和调校您的历史记录
    branch 列出、创建或删除分支

checkout 切换分支或恢复工作区文件
commit 记录变更到版本库
diff 显示提交之间、提交和工作区之间等的差异
merge 合并两个或更多开发历史
rebase 本地提交转移至更新后的上游分支中
tag 创建、列出、删除或校验一个GPG签名的 tag 对象

  • 协同(参见:git help workflows)
    fetch 从另外一个版本库下载对象和引用

pull 获取并整合另外的版本库或一个本地分支
push 更新远程引用和相关的对象

clone

克隆版本库到本地。通常不使用init,直接在scm工具里创建一个新的project,然后在本地通过clone命令获取此仓库。

git clone git@gitlab.alibaba-inc.com:${project-path}.git

branch

对代码做出变更后在做变更或协同动作前,请查看你当前所在分支。

## 默认查看本地分支列表 及 当前分支会有标记显示
git branch

## 查看本地 及 远程所有分支
git branch -a

checkout

## 切换到本地master
git checkout master

## 切换到本地普通分支
git checkout dev/test1

## 创建新分支并切换到新分支
git checkout -b ${newbranch}

add

当新增或者变更一个文件的时候使用add命令将其纳入本地版本库索引。

## 单文件
git add test.md

## 多文件
git add test.md test2.md

## 全部变更或新增
git add --all
git add .

log、status

查找提交记录 或者 查看当前变更状态 使用 log&status 。

## 展示当前分支的commit记录
git log

## 仅查看指定行数的log
git log -2

## 查看全部的commit记录,可以用于判断是否本地需要fetch了
git log --all

## 查看状态
git status

fetch、merge

开发时需要经常与远程同步。

git pull 命令等同于fetch+merge,建议分别使用fetch+merge命令以便控制合并变更的决策。

方式一:将远端修改获取到本地,然后做merge动作。

## 从远程下载最新版本到本地master
git fetch origin master

## 查看修改
git log -p master..origin/master
git log -p dev/test1..origin/master

## 合并远程master的变更到当前所在分支
git merge origin/master

方式二:将远端修改获取到自定义的新本地分支,然后将此本地分支合并到当前分支。

## 从远程下载最新版本到本地新分支newbranch,会同时创建此分支
git fetch origin master:${newbranch}

## 查看修改
git diff ${newbranch}

## 合并本地新分支newbranch的变更到当前所在分支
git merge ${newbranch}

## 废弃临时新分支
git branch -d ${newbranch}

rebase

衍合功能的含义是会将当前分支上的变更先拉出去,然后用最新的master分支作为基准,再将当前分支的变更作用上去并提交。相对于merge,rebase类似于aone的分支自动重建,并且不会产生额外的节点。

## 对之前fetch来的内容做衍合处理
git rebase 

## 如果有冲突需要马上解决,如果想交互式解决可以加i参数,解决后通过add命令载入变更到索引,并继续
git rebase -i
git add .

## 继续
git rebase --continue

reset

## 撤销当前分支上n个版本的提交,比如撤销最近1次的提高
git reset HEAD~1

push

推送本地仓库变更到远程仓库。

## 提交本地分支变更到远程分支
git push origin dev/test1

## 提交本地master变更到远程master分支
git push origin master

将普通分支的变更作用到远程master

类似aone的最终发布动作。

git checkout -b dev/test1

## modify something
git add .
git commit -m 'test1'

git checkout master

git merge dev/test1
git push origin master

To Be Continue

目录
相关文章
|
28天前
|
Linux 开发工具 git
【Git】Git 完全指南:从入门到精通
Git 是一种强大的版本控制工具,掌握了其基本命令和高级特性后,可以大大提高开发效率并方便团队协作。通过本篇文章,你已经学会了 Git 的核心命令及其使用方法,希望你能够灵活运用 Git 在实际项目中进行版本管理。
75 4
|
2月前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
5月前
|
存储 开发工具 git
|
28天前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
33 3
|
5月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
77 0
|
2月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
56 1
[Git]入门及其常用命令
|
3月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
148 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
2月前
|
开发工具 git 开发者
|
2月前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
69 0
|
4月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。