git基础操作

Git基础

追踪文件

使用 Git 来对现有的项目进行管理,进入该项目目录并输入:

git init

对一个已存在的文件进行版本管理

文件状态

分为四种状态:

Untracked Unmodified Modified staged

用git add 文件 可以让文件进入下一状态

add后再修改文件再commit的话,提交是上去的是最add的文件,而不是最新的文件

基本查看与操作

git diff :

​ 可以查看未暂存的文件更新了哪些部分

git diff --staged:

​ 查看已暂存的将要添加到下次提交里的内容

git status:

​ 查看状态

git status -s:

​ 简洁模式

新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记。出现在右边的 M 表示该文件被修改了但是还没放入暂存区,出现在靠左 边的 M 表示该文件被修改了并放入了暂存区。

忽略文件

忽略不想看到碍眼睛的文件

$ cat  .gitignore
*.[oa]

忽略 .o ,.a结尾的,基本符合正则表达式

提交更新

先用 git status看看是否全部暂存了,没暂存用git add暂存,暂存了用git commit提交

git commit -a

暂存加提交

git rm 文件

删除文件,先从暂存区移除,再从未暂存区移除

git rm -f 文件

一次强制删除文件,不可被git恢复

$ git rm log/\*.log

删除所有.log文件

git mv

改名字

git log

查看提交历史

git log -p

显示每次提交差异

git log -2

显示最近两次提交

git log --stat

显示每次提交的简略信息

git log --pretty=online

还有short,full,fuller等

还有format格式化字符串

git log 后面还可以添加很多参数,网上查阅

撤销操作
$ git commit --amend

撤销之前提交的信息并再次提交

git reset 取消暂存的文件

git checkout --file 撤销文件之前的修改

远程仓库的使用

1.查看远程仓库

git remote 查看已经配置的远程仓库服务器

git remote -v 简写

2.添加远程仓库
 git remote add  <shortname><url>

如果没有远程仓库的信息

使用pb代替

git fetch pb
3.从远程仓库中抓取与拉取
$ git fetch [remote-name]

访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支 的引用,可以随时合并或查看。

git pull

从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支

4.推从到远程仓库
git push [remote-name][branch-name]

例如

$ git push origin master

推送:必须保证,别人没有推从新的文件到仓库中才可以推送成功,也就是要保证你推送的内容是以仓库中的内容为基础的

5.查看某个远程仓库
$ git remote show origin
6.远程仓库的移除与重命名
$ git remote rename pb paul

将pb库改名为paul库

打标签

1.列出标签
$ git tag
2.创建标签
1.附注标签

中包含打标签者的名字、电子 邮件地址、日期时间;还有一个标签信息;并且可以使用 GNU Privacy Guard (GPG)签名与验证

$ git tag -a v1.4 -m "my version 1.4"
$ git tag
v0.1
v1.3
v1.4

-a加附注标签

-m加附注信息

$ git show v1.4

展示v1.4的信息

2.轻量标签

一个临时的标签,想要保存那些信息用这个标签

创建轻量标签,不需要使用 -a、-s 或 -m 选项,只需要提供标签名字

$ git tag v1.4-lw

运行 git show,你不会看到额外的标签信息。 命令只会显示出提交信息

$ git show v1.4-lw
3.后期打标签

要 在那个提交上打标签,你需要在命令的末尾指定提交的校验和(或部分校验和)

$ git tag -a v1.2 9fceb02
4.共享标签

默认情况下,git push 命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到 共享服务器上

$ git push origin v1.5

用这个才能让别人也看到

$ git push origin --tags

一次性推送很多标签

5.删除标签
git tag -d <tagname>

这个也只是本地的,不能从远程仓库移除这个标签

 git push <remote> :refs/tags/<tagname>
6.检出标签

git checkout

用来查看某个标签的文件版本

这会使仓库处于“分离头指针”状态

分离头指针:

如果你做了某些更改然后提交它们,标签不会发生变化,但你的新提交将不属于任何 分支,并且将无法访问,除非确切的提交哈希

有解决方法,暂时无法理解,先不用,避免使用检出标签

Git别名

$ git config --global alias.co checkout

将checkout设置别名为co

Git分支

分支简介

1.分支创建
$ git branch testing

创建了一个testing仓库

$ git log --oneline --decorate

查看信息

2.分支切换
$ git checkout testing

切换到testing中去

分支的新建与合并

1.新建分支
$ git checkout -b iss53
直接切换,是下面的简写
$ git branch iss53
$ git checkout iss53
2.合并分支
$ git checkout master
$ git merge hotfix

在linux分支下合并hotfix分支

3.删除分支
$ git branch -d hotfix

删除hotfix分支

4.遇到冲突时的分支合并

冲突时会显示unmerged

可以手动解决冲突

也可以用图形化工具解决

git mergetool

还有其他方法

分支管理

git branch

得到所有分支的列表

$ git branch -v

查看每一个分支的最后提交

$ git branch --merged

过滤掉已经合并的分支

$ git branch --no-merged

过滤未合并的分支

$ git branch -D testing

强制删除那些合并了的包含还未合并的工作的分支,用-d删除不了

分支开发工作流

稳定再后,不稳定的在前先发展

远程分支

git ls-remote
显示的获得远程引用的完整列表

git remote show (remote) 
获得远程分支的更多信息

git clone -obooyah
把远程仓库的名字改成booyah

git fetch origin
从远程仓库中抓取本地没有的数据并更新

git push (remote) (branch)
推送分支

git config --global credential.helper cache
防止每次输入密码

是当抓取到新的远程跟踪分支时,本地不会自动生成一份可编辑的副本(拷贝)

1.跟踪分支

对于跟踪分支使用git pull,Git会自动识别去哪里抓取

git checkout -b [branch] [remotename]/[branch]
创建跟踪分支

$ git branch -vv
查看所有的跟踪分支
2.拉取

git pull

3.删除远程分支
$ git push origin --delete serverfix

删除serverfix分支

变基

1.变基的基础操作
$ git checkout experiment
$ git rebase master

先到experiment分支中去,如何再在master的基础上变基,experiment前移

变基让提交历史更简洁

posted @   buguai_lxw  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示