Git 常用命令

Git-2.30.2-64-bit,git最稳定版本版本可兼容win11 git最稳定版本版本可兼容win11 立即下载

笔记来自廖雪峰Git教程

1. 创建版本库

git init
// 初始化一个 Git 仓库
git add readme.txt
// 把 readme.txt 添加到仓库
git commit -m "wrote a readme file"
// 将文件提交到仓库, -m 后面是本次提交的说明
git status
// 查看仓库当前的状态
git diff readme.txt
// 查看 readme.txt 修改的内容

2. 版本回退

Git 版本回退速度非常快,因为 Git 在内部有个指向当前版本的 HEAD 指针,当回退版本的时候,Git 仅仅调整了 HEAD 指针的指向。

git log
// 查看提交日志, --pretty=onrline 参数可以娴熟更清晰的信息
git reset --hard commit_id
// 改变当前版本
git reflog
// 重返未来时,查看命令历史,确定要回到未来的哪个版本

3. 工作区和暂存区

工作区:电脑里能看见的目录都是工作区

版本库:工作区有个隐藏目录 .git ,是 Git 的版本库。版本库中最重要的就是暂存区(stage/index),还有 Git 为我们自动创建的第一个分支 master,以及指向 master 的一个指针叫 HEAD

将文件往 Git 版本库中添加的时候,是分两步执行的:

  1. git add 实际就是把文件修改添加到暂存区
  2. git commit 实际就是把暂存区的所有内容提交到当前分支

创建 Git 版本库时就自动创建了唯一一个分支 master 分支,所以现在 git commit 就是往 master 分支上提交更改。可以理解为需要提交的文件修改通通放到暂存区,然后一次性提交暂存区的所有修改。如果提交后,又没有对工作区做任何修改,那么工作区就是“干净”的。

4. 管理修改

Git 跟踪并管理的是修改,并非文件。
如果 第一次修改 -> git add -> 第二次修改 -> git commit 是不会提交第二次的修改的,因为工作区的第二次修改并没有放入暂存区。

5. 撤销修改

丢弃工作区修改:

git checkout -- readme.txt
// 把 readme.txt 文件在工作区的修改全部撤销,这里有两种情况:
// 1. readme.txt 自修改后还没有放到暂存区,撤销修改就会回到和版本库一模一样的状态
// 2. readme.txt 已经添加到暂存区后,又做了修改,现在撤销就回到添加到暂存区后的状态
// 总之,就是让这个文件回到最近一次 git commit 或 git add 时的状态
// -- 很重要,没有 -- ,就变成了切换到另一个分支的命令

添加到暂存区后丢弃修改:

git reset HEAD readme.txt
// git reset 命令既可以回退版本,也可以把暂存区的修改回退到工作区。HEAD 表示最新的版本。
git status
// 再次查看状态,如果暂存区干净了,但是工作区有修改的话,再用 git checkout --readme.txt 丢弃修改

6. 删除文件

如果在文件管理器中删除了文件,但是版本库中还没删:

// 1. 确实要从版本库中删除该文件
git rm test.txt
git commit -m "remove test.txt"
// 2. 删错了
git checkout -- test.txt
// git checkout 其实是用版本库里的版本替代工作区的版本,所以无论工作区是修改还是删除都可以还原

7. 添加远程库

可以使用 GitHub 免费获得 Git 远程仓库:

  1. 创建 SSH Key,用户主目录的 .ssh 目录中如果没有 id_rsa 和 id_rsa.pub 两个文件的话就需要创建下:

    ssh-keygen -t rsa -C "youremail@example.com"
    // 一路回车使用默认值即可,id_ras 是私钥不可泄露,id_rsa.pub 公钥可以告诉别人
    
  2. 登录 GitHub ,在 Account settings 的 SSH Keys 页面 Add SSH Key 填上 title 和 公钥
    在 GitHub 添加了公钥后,GitHub 就可以识别是否是本人推送了

在 GitHub 创建 Git 仓库并与本地的仓库远程同步:

  1. 登录 GitHub,Create a new repo -> 填写 Repository name -> Create repository 。仓库建好后还是空的,可以从这个仓库克隆出新的仓库;也可以把一个已有的本地仓库与之关联,然后把本地仓库的内容推送到该仓库

  2. 关联远程仓库

    git remote add origin git@github.com:Shark-1024/learngit.git
    // Shark-1024 换成自己的 GitHub 账户名
    // learngit 换成自己的 GitHub 仓库名
    // 添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库
    
  3. 把本地库的所有内容推送到远程库上

    git push -u origin master
    // git push 命令实际上是把当前分支 master 推送到远程
    // 由于远程库是空的,我们第一次推送 master 分支时,加上了-u 参数,Git 不但会把本地的 master 分支内容推送到远程新的 master 分支,还会把本地的 master 分支和远程的 master 分支关联起来,在以后的推送或者拉取时就可以简化命令
    

8. 从远程库克隆

如果从零开发,最好先创建远程库,然后从远程库克隆

git clone git@github.com:Shark-1024/gitskills.git

9. 创建与合并分支

Git 把每次提交都串成一条时间线,这条时间线就是一个分支。Git 默认只有一条时间线,这个分支叫主分支,即 master 分支,即 master 分支。HEAD 严格来说不是指向分支,而是指向 master, master 才是指向提交的,所以 HEAD 指向的就是当前分支。

每次提交 master 分支都会向前移动一步,提交次数越多,master 分支的线也越来越长。

当我们创建新的分支,比如 dev,Git 就会新建一个名为 dev 的指针,指向 master 相同的提交,再把 HEAD 也指向 dev,表示当前分支在 dev 上:

这时对工作区的修改和提交就是针对 dev 分支了,比如新提交一次后,dev 指针就往前移动一步,而 master 指针不变:

如果我们在 dev 上的工作完成了,就可以把 dev 合并到 master 上。Git 最简单的合并方法就是直接把 master 指向 dev 的当前提交,就完成了合并:

合并完成后,甚至可以删除 dev 分支,删除 dev 分支就是把 dev 指针给删除掉,之后就只剩下了一条 master 分支:

git checkout -b dev
// 创建 dev 分支,并切换到 dev 分支, 相当于以下两条命令
git branch dev
git checkout dev

git branch
// 该命令列出所有分支,当前分支前面会有 * 号
// 然后我们可以在 dev 分支上正常提交,当 dev 分支的工作完成,我们就可以切换回 master 分支:
git checkout master
// 此时查看工作区是看不见在 dev 分支所做的修改的,因为之前的提交是在 dev 分支上,而 master 分支此刻的提交点并没变
git merge dev
// 现在把 dev 分支的工作成果合并到 master 分支上,git merge 命令用于合并指定分支到当前分支,合并后 master 分支和 dev 分支的最新提交就完全一样了
// 这次合并是“快进模式”,Fast-forward,就是把 master 指向 dev 的当前提交,所以合并速度非常快
git branch -d dev
// 合并完成后,就可以放心的删除 dev 分支了,此时再用 git branch 查看分支发现只剩下 master 分支了

因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

我们注意到切换分支使用 git checkout ,而前面讲过的撤销修改则是 git checkout – 。因此,最新版本的Git提供了新的git switch命令来切换分支:

git switch -c dev
// 创建并切换到新的 dev 分支
git switch master
// 直接切换到已有的 master 分支

10. 解决冲突

准备新的 feature1 分支,继续新分支开发

git switch -c feature1

在 feature1 分支上修改并提交,再切换到 master 分支修改并提交。这时两个分支各自都分别有新的提交:

这种情况下,Git无法执行“快速合并”,只能试图把各自的修改合并起来,但这种合并就可能会有冲突

git merge feature1
// 合并之后确实发生了冲突
git status
// 也可以用该命令查看冲突的文件

Git 用 <<<<<<<<< ========= >>>>>>>>>> 标记出不同分支的内容,我们根据提示修改文件后保存再提交,就可以解决冲突了。

现在,master 分支和 feature1 分支变成了这样:

git log --graph --pretty=online --abbrev-commit
// 用带参数的 git log 也可以看到分支的合并情况

11. 分支管理策略

通常合并分支时,如果可能的话 Git 会用 Fast forward 模式,但在这种模式下,删除分支后,会丢掉分支信息。如果强制禁用 Fast forward 模式,Git 就会在 merge 时生成一个新的 commit,这样从分支历史上就可以看出分支信息。

git merge --no--ff -m "merge with no-ff" dev
// 合并 dev 分支,-no-ff 参数表示禁用 Fast forward
// 因为本次合并要创建新的 commit,所以要 -m 加入 commit 的描述
// 合并后再用 git log 查看历史
git log --graph --pretty=oneline --abbrev-commit
*   e1e9c68 (HEAD -> master) merge with no-ff
|\  
| * f52c633 (dev) add merge
|/  
*   cf810e4 conflict fixed

可以看到,不使用Fast forward模式,merge后就像这样:

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

在实际开发中,我们应该按照几个基本原则进行分支管理:

  1. master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
  2. 干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

所以,团队合作的分支看起来就像这样(michael 和 bob 是你和小伙伴的名字):

12. Bug 分支

当接到一个修复一个代号 101 的 bug 的任务时,很自然地,你想创建一个分支issue-101来修复它,但是当前正在dev上进行的工作刚完成了一半还没有办法提交

git stash
// Git 还提供了一个 stash 功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

储藏工作现场后,再用 git status 查看工作区就是干净的(除非有没有纳入 Git 管理的文件),这时就可以放心的创建分支来修复 Bug 了

git stash list
// 创建临时分支修复好 Bug 并删除临时分支后,用该命令查看储藏的工作现场
git stash pop
// 恢复现场的同时把 stash 内容删除
// 还可以用 git stash apply 恢复,恢复后不会删除 stash,需要用 git stash drop 删除
git stash apply stash@{0}
// 回复列表中指定的 stash 用该命令

在一个分支上修复 Bug 后,可能有早期从该分支分出来的分支还有 Bug 未修复,可以复制修复 Bug 的这次提交到别的分支上。

git cherry-pick 4c805e2
// 复制一个特定的提交到当前分支

13. Feature 分支

每添加一个新功能,最好新建一个 feature 分支,完成后合并,最后删除该 feature 分支。

git switch -c feature-vulcan
// 开发代号为 vulcan 的新功能,创建并切换到该分支
git switch dev
// 开发完毕后切回 dev,准备合并
// 此时如果因为某种原因取消了新功能,需要删除分支
git branch -D feature-vulcan
// 可以使用带大写的 -D 参数的命令强制删除未合并的分支

14. 多人协作

当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。

git remote
// 该命令可以查看远程库的信息,-v 参数可以显示更详细的信息
git remote -v
origin  git@github.com:michaelliao/learngit.git (fetch)
origin  git@github.com:michaelliao/learngit.git (push)
// 上面显示可以抓取和推送的地址,如果没有推送权限就看不到 push 的地址

推送分支

推送分支就是把该分支上的所有本地提交推送到远程库。推送时要指定本地分支,这样 Git 就会把该分支推送到远程库对应的远程分支上:

git push origin master
// 如果要推送到其他分支,比如 dev ,就改成:
git push origin dev

但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?

  • master分支是主分支,因此要时刻与远程同步;
  • dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
  • bug 分支只用于在本地修复 bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
  • feature 分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

总之,就是在Git中,分支完全可以在本地自己藏着玩,是否推送,视你的心情而定!

抓取分支

多人协作时,大家都会往 master 和 dev 分支上推送各自的修改

这时一个小伙伴从远程库 clone 到自己电脑后,默认只能看到本地的 master 分支。如果小伙伴要在 dev 分支开发,就必须创建远程 origin 的 dev 分支到本地,于是他用这个命令创建本地 dev 分支:

git checkout -b dev origin/dev

如果我们碰巧和小伙伴对相同的文件做了修改,就会产生冲突。解决的办法很简单,先用git pull把最新的提交从origin/dev抓下来,然后再本地合并,解决冲突,再推送:

$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> dev

git pull失败,因为我们没有指定本地 dev 分支与远程 origin/dev 分支的链接,根据提示,设置dev和origin/dev的链接:

$ git branch --set-upstream-to=origin/dev dev
Branch 'dev' set up to track remote branch 'dev' from 'origin'.

再pull:

$ git pull
Auto-merging env.txt
CONFLICT (add/add): Merge conflict in env.txt
Automatic merge failed; fix conflicts and then commit the result.

这回git pull成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的解决冲突完全一样。解决后,提交,再push:

$ git commit -m "fix env conflict"
[dev 57c53ab] fix env conflict

$ git push origin dev
Counting objects: 6, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 621 bytes | 621.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0)
To github.com:michaelliao/learngit.git
   7a5e5dd..57c53ab  dev -> dev

因此,多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin <branch-name>推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin <branch-name>推送就能成功!

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。

这就是多人协作的工作模式,一旦熟悉了,就非常简单。

  • 查看远程库信息,使用git remote -v;
  • 本地新建的分支如果不推送到远程,对其他人就是不可见的;
  • 从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
  • 在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  • 建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
  • 从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。

15. Rebase

  • rebase操作可以把本地未push的分叉提交历史整理成直线;
  • rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。

16. 标签管理

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。
Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。
Git有commit,为什么还要引入tag?
“请把上周一的那个版本打包发布,commit号是6a5819e…”
“一串乱七八糟的数字不好找!”
如果换一个办法:
“请把上周一的那个版本打包发布,版本号是v1.2”
“好的,按照tag v1.2查找commit就行!”
所以,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。

17. 创建标签

  • 命令git tag <tagname>用于新建一个标签,默认为HEAD,也可以指定一个commit id;
  • 命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
  • 命令git tag可以查看所有标签。

18. 删除标签

  • 命令git push origin <tagname>可以推送一个本地标签;
  • 命令git push origin --tags可以推送全部未推送过的本地标签;
  • 命令git tag -d <tagname>可以删除一个本地标签;
  • 命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

19. GitHub

  • 在GitHub上,可以任意Fork开源仓库;
  • 自己拥有Fork后的仓库的读写权限;
  • 可以推送pull request给官方仓库来贡献代码。

20. 自定义 Git

// 让 Git 显示颜色,会让命令输出看起来更醒目
git config --global color.ui true

忽略特殊文件

不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

有些时候,你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了,如果你确实想添加该文件,可以用-f强制添加到Git:

$ git add -f App.class

或者你发现,可能是.gitignore写得有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查:

$ git check-ignore -v App.class
.gitignore:3:*.class	App.class

配置别名

我们只需要敲一行命令,告诉Git,以后st就表示status(--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用):

$ git config --global alias.st status

当然还有别的命令可以简写,很多人都用co表示checkout,ci表示commit,br表示branch:

$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch

在撤销修改一节中,我们知道,命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区。既然是一个unstage操作,就可以配置一个unstage别名:

$ git config --global alias.unstage 'reset HEAD'

当你敲入命令:

$ git unstage test.py

实际上Git执行的是:

$ git reset HEAD test.py

配置一个git last,让其显示最后一次提交信息:

$ git config --global alias.last 'log -1'

这样,用git last就能显示最近一次的提交:

$ git last
commit adca45d317e6d8a4b23f9811c3d7b7f0f180bfe2
Merge: bd6ae48 291bea8
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Thu Aug 22 22:49:22 2013 +0800

    merge & fix hello.py

甚至还有人丧心病狂地把lg配置成了:

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

来看看git lg的效果:

每个仓库的Git配置文件都放在.git/config文件中:
别名就在[alias]后面,要删除别名,直接把对应的行删掉即可。
而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:

git官方版,稳定版本 立即下载

相关推荐

Python+Vue计算机毕业设计风电场监控系统的设计与实现7bd6i(程序+LW+源码+部署)

Python3.7.7+Django+Mysql5.7+pip list+HBuilderX(Vscode也行)+Vue+Pychram社区版。2. 前端:vue+css+javascript+jQuery+easyUI+highcharts。2.IDE环境:Python和Python 社区版都可以。Django + Vue +Python+Mysql 等等组成,B/S模式等等。该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。1. 后端:Python、Vue、Django、Mysql。

华信计算机毕设源码程序 342

git不同linux版本说明

在确保你安装好git后,我们就可以通过git来下载不同版本的linux kernel了,这时要先说一下

Bean Huo 2337

3D Slicer:从入门到精通——数据模块之DICOM

该模块允许导入、导出和网络传输DICOM数据。Slicer支持DICOM功能的常用子集,其特定功能由临床研究的需求驱动:从磁盘读取和写入数据集,并通过DIMSE和DICOMweb网络协议进行网络传输——查询检索发送和接收数据集。医学数字成像和通信(DICOM)是信息交换数字放射学的广泛使用标准。在大多数情况下,医院使用的成像设备(CT和MR扫描仪)将生成保存为DICOM对象的图像。DICOM按以下层次结构组织数据患者… 可以有1个或多个研究(单次成像检查) … 可以有1个或多个系列。

walt3433的博客 6066

【亲测免费】 Git-2.30.2-64-bit:Win11用户的稳定版Git工具推荐

Git-2.30.2-64-bit是一款专为Windows 11系统优化的Git工具,旨在为开发者提供一个稳定、高效的版本控制系统。Git作为分布式版本控制系统,广泛应用于软件开发中,帮助开发者跟踪代码变更、管理项目版本,并促进团队协作。本项目提供的Git版本经过精心挑选和测试,确保在最新的Windows 11操作系统上能够顺畅运行,为开发者提供最佳的使用体验。 ## 项目技术分析 Git-2

gitblog_09702的博客 1197

GO与KEGG富集分析实战:从差异基因到功能注释

本文详细介绍了GO与KEGG富集分析的完整实战流程,从差异基因列表出发,通过基因ID转换、核心分析到结果可视化,系统阐述了如何将基因数据转化为生物学洞察。文章重点讲解了使用R语言clusterProfiler包进行GO和KEGG富集分析的具体步骤、参数设置及常见问题解决方案,并强调了结果解读与生物学故事构建的方法,帮助研究者深入理解差异基因的集体功能倾向。

weixin_29291863的博客 919

使用Anaconda和conda快速搭建YOLO开发环境

本文详细介绍了如何使用Anaconda和conda为YOLO目标检测项目快速搭建独立、纯净的开发环境。通过创建虚拟环境,有效解决了Python包版本冲突和CUDA兼容性问题,并指导安装GPU版PyTorch等核心依赖,最后通过验证脚本确保环境配置成功,为YOLO开发提供了稳定可靠的基础。

weixin_28829629的博客 164

gitlab 介绍

Gitlab 是一个开源的Git代码仓库系统,可以实现自托管的Github项目,即用于构建私有的代码托管平台和项目管理系统。系统基于Ruby on Rails开发,速度快、安全稳定。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。GitLab 由Dmitriy Zaporozhets和

爱死亡机器人 3400

性能调优秘籍——让OpenClaw运行速度提升10倍(2026优化版)

OpenClaw性能优化核心摘要 本文详细介绍了提升OpenClaw系统性能的关键技术,包括: 使用性能分析器进行代码级性能诊断 内存优化与高效缓存策略 并发处理优化技术 数据库查询性能提升方法 重点内容包括: 全面的性能分析工具实现(计时、内存监控、错误跟踪) 自动生成性能报告和优化建议 操作耗时与内存占用分析算法 关键性能指标(平均耗时、内存增长)计算 通过系统性的性能分析优化,可使OpenClaw运行速度提升10倍以上。

博客 903

git 常用命令

git diff 是一个非常强大的工具,能帮助你在提交代码之前或在代码回溯时检查具体改动。无论是工作区、暂存区还是提交之间的差异,git diff 都能以直观的方式展示细节。通过熟练掌握 git diff,你可以更好地控制代码质量和改动的准确性。

一名想做出点成就的后端~ 5518

RK3399平台开发系列讲解(内核入门篇)1.1、通过sysfs清楚了解设备的系统状况

文章目录1、不敢高声语,恐惊天上人:sysfs目的2、窥一斑而知全豹:sysfs目录介绍3、千丝万缕:sysfs中要素的关系4、数据观星:sysfs中相关结构体 1、不敢高声语,恐惊天上人:sysfs目的 我们想通过sys下面的目录和文件清楚的了解跑Liunx系统的嵌入式设备的系统状况。 2、窥一斑而知全豹:sysfs目录介绍 sysfs把连接在系统上的设备和总线组织成为一个分级的文件,它们可以由用户空间存取,向用户空间导出内核的数据结构以及它们的属性。sysfs的一个目的就是展示设备驱动模型中各组件.

内核笔记 1万+

YOLOv13改进策略【损失函数篇】| 2024 引进Focaler-IoU损失函数 加强边界框回归 (Focaler-DIoU、Focaler-GIoU、Focaler-CIoU)

本文记录的是改进YOLOv13的损失函数,将其替换成。现有研究通过利用边界框之间的几何关系来提高回归性能,但忽略了困难样本和简单样本分布对边界框回归的影响。不同检测任务中困难样本和简单样本的分布不同,对于简单样本占主导的检测任务,关注简单样本的边界框回归有助于提高检测性能;对于困难样本比例较高的检测任务,需要关注困难样本的边界框回归。,提高检测器在不同检测任务中的性能。实现的。

Limiiiing的博客 870

Git 常用命令大全

一、 Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看远程所有分支 git commit -am "init" 提交并且加注释 git remote add origin git@192.168.1.119:ndshow git push origin master 将文件给推到服务器上 git remote show origin 显示远程库o...

Thancks 927

微信小程序 - 最新获取用户昵称 / 头像(wx.getUserProfile 接口被废弃后的代替方案)详细教程,2022 年之后的所有微信小程序,获取用户信息最新详细教程,附带示例源代码

微信小程序wx.getUserProfile接口废了用什么代替,微信小程序wx.getUserProfile不能用了怎么办,wx.getUserProfile失效有什么替代方案吗,微信新规定头像昵称填写最新教程,目前微信小程序最新获取用户头像昵称教程,微信小程序用户头像昵称获取规则调整公告,2022改版后的微信小程序如何获取用户头像和昵称信息,微信小程序官方废弃getUserProfile后如何实现获取用户信息,微信小程序wx.getUserProfile接口返回了默认头像昵称,微信小程序获取用户信息不

🏆 前端领域优质创作者 2万+

Windows系统安装Git以及Git常用命令介绍

本文主要介绍Windows系统安装Git的方法,以及Git常用命令介绍。

weixin_56319483的博客 2070

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Git常用命令

设置本地分支与远程分支的关联,下次推送可以直接使用 git push。: 将所有已跟踪文件的修改提交到本地仓库,并附带提交信息。: 查看仓库状态,包括修改过的文件、暂存区文件等。: 将暂存区的文件提交到本地仓库,并附带提交信息。: 将当前分支的提交 rebase 到指定分支上。: 从远程仓库获取最新代码,但不合并到本地分支。: 只回滚提交记录,工作区和暂存区不受影响。: 修改上次提交,包括提交信息和文件内容。: 回滚提交记录和暂存区,工作区不受影响。: 通过创建一个新的提交来撤销指定的提交。

2301_76962889的博客 981

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

git 常用命令记录

git clone 地址 作用:克隆项目到本地 git config user.name ‘xx’ 作用:重置本项目用户名称 git config user.email 邮箱地址 作用:重置本项目用户邮箱 git pull 作用:更新 git pull --rebase origin pro2.8 作用:更新并合并 git pull origin mybranch 作用:远程主机某个分支的更新,再与本地的指定分支合并。(origin 为远程主机名称,mybranch 为 远程分支名..

冬无雪的博客 1965

git常用命令学习

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

陌城烟雨 1274

git常用命令

Git 是目前最流行的分布式版本控制系统,用于跟踪文件变化、协同开发和管理代码版本。以下是 Git 常用命令的汇总及详细介绍,涵盖从初始化仓库到分支管理、协作开发的核心场景:首次使用 Git 需配置用户信息(用于提交记录标识)。 2. 查看配置信息 二、仓库初始化与克隆 1. 初始化本地仓库 在现有项目目录中创建 Git 仓库: 2. 克隆远程仓库 从远程服务器(如 GitHub、GitLab)复制仓库到本地: 三、文件状态与暂存 Git 中文件有三种状态:工作区(Working

weixin_62933312的博客 941

git常用命令整理

前言本文主要记录自己平时经常使用的git命令和收集别人博客中一些常用命令,方便初学者理解和使用。本文先简单介绍git工作原理,然后详细介绍git的各种使用方法。1. git工作原理一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:每次提交,master分支都会向前移动一步。当我们创建新的分支,例如dev时

androider_xy的博客 6486

git 的常用命令

git 的常用命令

一个码头 3032
上一篇: 十一贝面试复盘
下一篇: 推荐阅读:通俗易懂的介绍IOC
铮诚
博客等级 码龄6年 6粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值