git 简单命令笔记

Git学习笔记-Git简单命令Gitee简单使用 Git:是是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git和SVN的区别 1、Git 是分布式的,SVN 是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。 3、Git 分支和 SVN 的分支同:分支在 SVN 中一点都特别,其实它就是版本库中的另外一个目录。 4、Git 没有一个全局的版本 阅读详情

关于git使用,我们内部服务使用gitlab,相关使用教程就不再赘述了。
以下说的都是windows环境下使用,殊途同归。git官网

初始化

git init
我通常很少直接在本地初始化一个仓库,大家基本都是从远程clone,即便是创建新项目,在gitlab web页面也是直接选择创建新project,然后供大家拉取进行开发。现有项目路径下(空文件夹,也可以不空),命令行模式
执行 git init 就会创建一个.git文件夹子目录,表示当前目录以及纳入版本管理。

添加修改

git add
大多数情况下,用这个命令将文件添加到项目中用来追踪后续文件变化。
来自官网解释——将这个命令理解为“添加内容到下一次提交中”而不是“将一个文件添加到项目中”要更加合适。
举个例子(以下操作都在android studio中)
我先创建了一个test.txt的文件,studio就自动增加到版本控制中,此时随便编辑一下,查询状态如下,有一个文件待提交,有一个修改未在待提交,此时执行commit 只会提交创建文件的部分,不会提交编辑后的部分,可以在提交前执行一次
git add app/test.txt 然后执行提交就会提交修改后的部分,大多数情况下在项目中创建的文件都需要进行版本管理,极少数情况创建的本地文件不需要进行管理,但是在studio中创建的时候就自动添加进管理了,在commit前可以通过执行git reset HEAD 将刚创建的文件移出版本追踪(仅限于创建后未提交的文件)。

#git status
On branch localTest
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

    new file:   app/test.txt

Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)

    modified:   app/test.txt

除了移出刚创建的文件版本,还可以通过编辑仓库内的.gitignore文件来添加需要忽略的文件或者文件夹,
以下是官方例子,举一反三能应付大多数情况了

# no .a files 所有.a结尾的文件不跟踪
*.a

# but do track lib.a, even though you're ignoring .a files above 
# 忽略取反,我已经忽略的所有的.a文件,但是我希望跟踪lib.a文件可以单独添加
!lib.a

# only ignore the TODO file in the current directory, not subdir/TODO
#忽略当前目录下的TODO文件,但是不会忽略子目录中的TODO
/TODO

# ignore all files in the build/ directory 忽略build目录下所有文件
build/

# ignore doc/notes.txt, but not doc/server/arch.txt 忽略doc目录下的.txt文件但是不忽略子目录中的
doc/*.txt

# ignore all .pdf files in the doc/ directory 忽略doc目录下的所有.pdf文件包括子目录
doc/**/*.pdf

关于比较 git diff 我没用过命令,都是在studio 右键文件compare with branch丝滑得多。

提交更新

git commit -m “-m引号内的内容为本次提交的说明”
通过此命令提交在暂存区的修改,还可以通过添加-a 命令将已跟踪但未添加到暂存区的修改提交。
举个例子,我现在已经有了test.txt 文件,我修改内容为abc 此时,按正常流程,
我需要先 git add text.txt 再执行git commit -m "test2"才能成功提交,通过添加-a 标签,能省略add步骤
直接执行git commit -a -m "test2"成功提交刚刚的修改

移除文件

git rm
同时删除本地文件并提交,studio下这个操作直接删除后提交完事,说个特殊的,我的test.txt 上一个版本添加到追踪的,但是这个版本我不想追踪它了,但是我本地还想继续用它,只是不再纳入版本控制,
执行命令git rm --cached text.txt 此时文件text.txt依旧在本地目录里不会被删除,同时下一次提交到仓库的修改行为变成删除文件text.txt

F:\AndroidStudioProjects\test>git rm --cached app/test.txt
rm 'app/test.txt'

F:\AndroidStudioProjects\test>git status
On branch localTest
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

    deleted:    app/test.txt

查看提交记录

这个不多说了,直接git log 输出密密麻麻看得烦,可以这样
git log --pretty=oneline -5 输出最近5次提交并且单行显示,爽多了
git log --stat -5 最近5次提交信息,并且带有简略信息,比如修改了哪些文件
git reflog 查看每次head变更时的日志(包括提交),已经删除的分支也能检测,可以用来恢复误删的分支节点

撤销操作

先说一种情况,比方说我修改了test.txt 创建了abc.txt文件,提交备注写成了“修复bug1”,但是我这次提交漏掉了abc,而且修复的是bug2,粗暴的做法是再提交一次修改完事,但是就会有两次提交记录。如果只希望有一次提交记录,并且修正备注,可以通过–amend命令按顺序做如下操作

git commit -m '修复bug2'
git add abc.txt
git commit --amend

完成后之前提交的记录就会被本次提交的记录覆盖,修正之前的提交。
已经修改但尚未提交时,撤销对某个文件的修改,studio没这么折腾,直接右键revert完事

git checkout -- test.txt 

恢复成修改前的状态。

远程仓库相关

git remote -v 查看远程仓库简写(通常clone后自动创建的简写是origin)和地址
git remote add [remote-name] [url] 添加新的远程仓库
git remote set-url [remote-name] [url] 修改远程仓库地址
git fetch [remote-name] 拉取远程仓库信息但不会对当前工作进行合并
git pull [remote-name] 拉取数据后会尝试合并当前分支
git push [remote-name] [branch-name] 推送新分支到远程仓库
git remote rename [oldName] [newName] 修改远程仓库在本地的名称
git remote rm [remote-name] 移除远程仓库,只是移除本地与远程的关联,不是把远程服务器上的仓库给删除了。

标签相关

git tag 列出所有标签
git tag -a [tagname] -m “tag说明” 通常都是打附注标签
也可以对某次修改补打标签
git tag -a [tagname] -m “tag说明” [需要打标签的提交记录哈希值前6位]
git push origin [tagname] 推送标签到远程仓库
git tag -d [tagname] 删除本地仓库上的标签
git push [remote-name] :refs/tags/[tagname] 删除远程仓库的标签
git checkout [tagname] 单纯检出打标签时的文件版本,不做修改
git checkout -b [branch-name] [tagname] 检出打标签时的文件版本并创建新分支,用于修改后提交新版本

分支相关

git branch [branch-name] 创建新分支
git checkout [branch-name] 切换到指定分支
git branch -d [branch-name] 删除分支 studio右下角直接操作完成以上操作痛快
git branch -v 查看当前已有分支列表
git branch --merged 查看哪些分支已合并到当前分支
git branch --no-merged 查看哪些分支未合并到当前分支
git branch -u [oringin/branch-name] 修改当前分支跟踪的远程分支

git简单命令笔记 #这是一篇关于git的使用笔记,刚刚开始使用git. 1.创建git本地仓库: 在你需要版本控制的项目Project根目录下右键点击Git Bash here执行git init,然后在该目录下生成 一个.git的隐藏文件 2.当你在Project目录下创建和保存文件后,git会自动追踪和保存文件,需要用git add命令将需要的文件添加到git中,这样当文件发生更改时git能检出,使用git ... 阅读详情

相关推荐

简单的常用Git命令笔记二)

常用的简单git命令 1.pwd:查看当前文件夹目录 2.ll:显示当前目录下所有文件目录 3.ls -a:仅显示文件夹名称+隐藏文件名称目录 4.cd :跳转目录,进入某目录下 5.mkdir:文/路径名件夹名称 创建文件夹 6.vim [文件名]:创建文件(eg:vim hello.txt) 7.cat [文件名]:查看文件内容(eg:cat hello.txt) :wq:保存+退出 8.gi...

qq_43081826的博客 169

git常用命令简单笔记

git init //把这个目录变成Git可以管理的仓库   git add README.md //添加到暂存区   git add . //但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了   git commit -m "first commit" //把暂存区文件提交到仓库用英语   git remote add orig...

qq_45044292的博客 141

学习笔记git简单命令

【代码】学习笔记git简单命令

coderHOOO的博客 24

Git学习笔记(含常用简单命令

1.GitGit是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件,git仓库分为两种:“本地仓库”及“远程仓库”。2.本地仓库:开发人员自己电脑上的Git仓库,可以使用git init 命令创建一个初始仓库;3.远程仓库:远程服务器上的Git仓库,如github,gitee,GitLab等。4.版本库:.git隐藏文件,其中存储了很多配置、日志、文件版本等信息。5.工作区:包含.git文件夹的目录,也称为工作目录,主要用于存放开发的代码。

lmtnp的博客 149

笔记-简单但够用系列_git本地分支命令

git commit --提交一次修改 git commit -m &quot;something you want to markdown about this commit&quot; --提交一次修改并附上标注内容 git branch side1 --在当前节点创建一个分支side1 git checkout side1 --切换到side1分支 gi...

迷途小羔羊--NYTWTYN的博客 397

[Git]学习笔记 --简单远端操作命令

git fetch更新项目 git push 分享改动 git remote 管理远程仓库 git remote列出远端的别名: $ git remote origin 只是列出远端仓库的别名,如果是clone的默认名称一般为origin $ git remote -v origin https://github.com/sshwsfc/django-xadmin.git (fetch

orangleliu 笔记本 1656

github 学习笔记1--一些简单git命令

git clone +repo地址 即将仓库下载到本地,并置于git的监控(追踪)之下 git rest –hard 使仓库中的代码版本恢复到最近的一个节点。 Git branch 查看本地的分支情况及当前分支 Git branch + 新分支名称 新建分支 Git checkout +分支名 切换分支 Git status 查看当前状态,它的提示信息很有用 git add . 将所有

A127418的专栏 659

Gitlab学习笔记(二):git提交的简单操作及常用命令

目录一、git开发常用命令二、git辅助命令 一、git开发常用命令 克隆分支代码到本地 git clone url(项目地址) 添加修改文件到本地缓存中,(可以指定文件,(.) 代表全部文件) git add . 将暂存区里的改动给提交到本地的版本库 git commit -m '备注' 拉取最新的分支代码 git pull 有冲突,先merge,在提交到分支 git push 二、git辅助命令 重置账号密码 git config --system --unset

原来是小雨啊的博客 216

高效命令笔记管理工具:nb的完整使用指南

在信息爆炸的时代,如何高效管理个人知识和笔记成为了每个专业人士面临的挑战。nb是一款功能强大的命令笔记管理工具,它集笔记记录、书签管理、知识归档于一体,通过简单命令行界面提供完整的知识管理解决方案。无论是开发者、研究人员还是普通用户,都能通过nb实现高效的知识组织和检索。 ## 为什么选择命令笔记工具? 传统笔记应用往往需要复杂的界面操作和同步设置,而命令行工具则提供了更加高效和灵活的工

gitblog_00495的博客 450

GitGit简单命令,在IDEA中的简单用法

最近博主在学习Git,仅想通过编写博客加强自己对Git的认识,这也是博主的第一篇博客,如有善之处,敬请指正(博主是个蒟蒻)Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。(转自百度) 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本, 方便版本切换。试想一下,如果没有一个高效的版本控制系统,而是手动的进行版本更新(如下图);你知道你的下一版代码是否有bug,或是如上一

白蝶的博客 2883

[笔记] Git 实战指南:Git命令大全 与 Git提交信息规范

本文档是一份详尽的 Git 使用指南,仅适合初学者学习 Git 的基本操作,也适用于希望提升技能的中高级用户。通过详细介绍 Git 的各类命令及其应用场景,文档为读者提供了实用的工具和技巧,以提高工作效率和代码库的质量。同时,针对提交信息的规范化提出了明确的建议,有助于团队保持一致的代码变更记录,促进更好的协作和可维护性。

LuChangQiu的博客 2593

【linux命令git命令简单使用

之后,我就可以再次尝试推送了。过,自动合并可能会产生一个合并提交,有些人可能更倾向于保持线性的提交历史,这时候可能需要使用git pull --rebase,这样可以将我的本地提交变基到远程分支的最新提交之上,避免额外的合并提交。那具体应该怎么做呢?首先,当我执行git push的时候,如果远程仓库已经有了我本地没有的新提交,git会拒绝我的推送,并提示需要先拉取最新的变更。过,在使用rebase的时候需要注意,如果我已经将本地提交推送到远程过,那么变基可能会改变提交历史,导致后续推送出现问题。

nuanmin的博客 2379

git命令笔记(速查速查)

Git命令总结,适合快速查看命令

羊羊羊 1246

Git简单命令

Git本地仓库基本操作指南:安装Git后通过右键菜单打开Git Bash进行初始化(git init)或克隆远程仓库(git clone)。工作流程包括将文件从工作区添加至暂存区(git add)再提交到版本库(git commit)。核心命令涵盖状态查看(git status)、版本回退(git reset)、日志查询(git log)等。文件状态分为未跟踪/已跟踪(含未修改、已修改、暂存三种状态)。

y76521的博客 1059

Git 学习笔记

个人对 Git 初步学习的理解以及记录

m0_73959697的博客 2101

git笔记-简单入门

git是一个分布式版本控制系统,它的优点有哪些呢?分为以下几个部分。

weixin_72686492的博客 1602

git命令笔记

git对于软件开发和协作的重要性言而喻,在企业开发中,git命令和linux命令的使用同样重要。作为开发者,需要牢记并熟练使用常见的git命令

m0_46393656的博客 1172

git简单命令

git新手,最近上传个项目,下载个项目老是忘记命令,在这写一下最常用的几个命令。 本地新建文件夹,如rest-base cd rest-base git init //初始化仓库 git remote add origin git@github.com:q7322068/rest-base.git //连接远程仓库,需要在github内创建ssh公钥,配置方式参考GitHub添加公钥 如...

liuhm的博客 4235
上一篇: 摸爬滚打学安卓之准备工作要哪些
二进制书生
博客等级 码龄13年 2粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值