关于git使用的信息

http://www.itjxue.com  2023-01-17 17:41  来源:未知  点击次数: 

Git基本操作

安装完 Git 软件后,需要我们做一下全局的配置工作,如:用户名、邮箱等。

命令:git config

设置用户名命令:

设置邮箱命令:

其中, --global 指定为全局配置,不指定该参数,则为当前所在仓库配置。

查看配置:

在本地创建版本库,需要使用 git init 命令。

首先,我们需要新建一个存放版本库的文件夹,然后进入到该目录所在路径,执行如下命令,格式为:

最后查看文件夹,可以看到包含有 .git 子文件夹,说明创建版本库成功了。

也可以在执行 git init 命令时指定一个文件夹作为版本库。格式为:

克隆版本库是指从现有 Git 版本库中拷贝项目。

克隆版本库使用如下命令,格式为:

如果我们需要克隆到指定的目录,可以使用以下命令格式:

如:克隆远程仓库

添加一个或多个文件到暂存区:

添加指定目录到暂存区,包括子目录:

添加当前目录下的所有文件到暂存区:

查看在我们上次提交之后是否有对文件进行再次修改。 格式为:

-s参数可以帮助我们获得比较简短的显示结果。

如:我们在一个版本库中所在目录中增加一个 Unit1.pas 文件,然后执行如下命令:

显示暂存区和工作区的差异:

显示暂存区和上一次提交(commit)的差异:

显示两次提交之间的差异:

将暂存区内容添加到本地仓库中。

提交暂存区到本地版本库中:

message 可以用于描述提交的信息。

提交暂存区的指定文件到版本库区:

修改后直接提交:

-a参数设置修改文件后不需要执行 git add 命令,直接来提交。

如:我们在上面的命令基础上进行提交

接下来,我们对 Unit1.pas 文件进行修改,然后进行文件比较:

git reset 命令用于回退版本,可以指定退回某一次提交的版本。

git reset 命令语法格式如下:

可以使用 数字表示

git rm 命令用于删除文件。

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。所以,在 git 环境下一定要使用 git 的删除文件操作。

git rm 删除文件有以下几种形式:

将文件从暂存区和工作区中删除:

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f 。

如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可:

可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:

git mv 命令用于移动或重命名一个文件、目录或软连接。

如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数:

git 日常用法

git pull远程主机名远程分支名:本地分支名

git push远程主机名本地分支名:远程分支名 , 和git pull 都是 src:dest

git fetch远程主机名分支名其实就是拉去远程分支到本地版本库,然后再使用 git merge

git merge 合并分支,将 合并到当前所在的分支, 比如 git merge master ,将本地master与自己的分支合并,比如 git merge origin/branch ,就是将远程的 origin/branch 与本地的分支合并 , 比如不自动commit,可以 git merge--no-commit 。 其实git merge 可以一次合并多个分支,比如 git merge origin/ 其实就是管你远程和本地了全部合到我的分支上。

git diff 在两个分支之间比较

git diff--cached 比较 git add. 与 工作区之间的比较 , 也就是本地暂存区与工作区之间的比较

git reset--mixed 将暂存区的分支直接回到到工作区, 也就是比如 git add. 你想回退到本地,直接 `git resrt --mixed

git reset--mixed HEAD~1 回退一个版本,比如你本地commit/远程已经push了,那么你本地和远程是一样的,如果你想回退一个版本,此时需要reset操作,主要是解决回退的操作,上面就是commit一次后需要回退一个版本,所以是 HEAD 1 , 比如commit了两次就是 HEAD~2 , 此时有4种选项,一般分为 --hard 和 --mixed , --soft , --hard 硬reset,回退回来你的这次修改全部没有了,也就是直接回到了上一个版本,而 --mixed 回退到你没有 git add. 操作的时候, --soft 是回退到你 git add. 操作完后的时候。 看需求吧。一般只用 --hard 和 --mixed .

git commit--amend 主要是处理 你 git commit-m'' 想要修改 commit的desc/comment了。

git rm-r--cached. 比如修改了 gitignore ,但是其实你的版本库/暂存区是没有 ignore的,所以需要直接删除 暂存区的缓存。

git rm file 也就是删除本地开发的一个文件,硬删除,直接删没了,回退也需要硬回退。

git checkout. 清空本地所有修改的代码

git checkout-b 将本地的这个分支,checkout 出一个新的分支,名字为 git checkout-b origin/ ,将远程的 分支上 checkout一个新的本地分支名字为`

有些场景可能需要打tag,所以一般是 git pull ,拉去远程的所有代码(记得切换到master上),然后 git tag 查看 tag 历史 ,创建一个新的tag ,比如 git tag v1.1.0 ,然后直接推送到远程 git push origin v1.1.0 就好了(一般是别人给你合master了,上线可能需要打新的tag)

文件权限 发生变更需要配置:git diff old mode 100644 new mode 100755 的问题 :需要设置 git config --add core.filemode false

git log-p README.md 查看文件的变更详细 历史 , git log 查看文件的变更 历史 ,另外有可能查看某一行的变更,这个是指你没有ide的情况下,所以需要指定

然后

git shortlog-sn 查看提交者

git submodel add remote_addr local_dir 子模块

文档:Git-工具-子模块

1、在父项目新建子模块

2、提交子模块

问题就是,提交流程过于复杂!!

git安装使用

1 git初始化 提交

安装git.exe

git bash 进入linux操作界面

创建git仓库目录 :进入目录路径下+git init 初始化

git add 文件 //加入缓存

git commit -m “标注”//提交

git status 查看下当前git目录下文件状态,是否已修改未add/commit

git log

git reset commit id --hard 版本回退

git reflog 查看被删除的文件

2 分支

git log: HEAD指向为当前分支是哪个

git branch 查看当前分支

git checkout * 切换分支为

git branch * 创建分支

git branch -d 删除其他分支 -D强制删除不检验

git merge 其他分支 合并其他分支提交的文件,使本分支文件更多了

3分支规范

master分支 :生产分支

develop分支 :开发分支

4 远程仓库 码云

git remote add orign (自定义命名,默认origin) 远程仓库地址(url)

git remote 查看当前的远程仓库

git push + origin master 本地仓库提交到远程仓库

git push -f 强制覆盖

git push --set-upstream origin master:master

本地分支和远端分支建立连接关系

git branch -vv 查看本地和远程分支的对应

git clone ssh远程仓库地址

git pull(抓取+合并到本地master) =git fetch + git merge orign/master

git的基本使用

git 采用的是分布式仓库,本地和远程仓库都是一个包含完整记录的仓库,如果某一处被格式化了,还以从另一个仓库获取,并不会有大影响(只要之前进行了同步仓库)。git 可以在断网的情况下,提交到本地仓库,之后联网再推到远程仓库。每次提交或者保存,git都会记录下所有文件状态,若未改变的文件,git不会再次存储,只会链接到之前已经存储的文件。

git文件一共有四种状态:

以下为git中存在的,并在跟踪的

创建本地.gitignore

创建一个global .gitignore

指定仓库排除

参考 Ignoring files

这里遇到一个问题:当我不修改系统默认的提交信息时(或者只是换行不输入任何信息),然后关掉编辑器会出现提交不成功,并会提示

Aborting commit due to empty commit message.

解决方法 :必须输入新的提交信息,即在原来的基础上,至少要加入新的行数据。

git rm \*~ 删除所有以~这个结尾的文件

限定输出

更多限定

Table 3. Options to limit the output of git log

参考至: Git Basics - Undoing Things

`eg

$ git commit -m 'initial commit'

$ git add forgotten_file

$ git commit --amend`

展示仓库名

fetch、pull、push

(==注==:origin 是用git clone到本地之后,自动命名,如果在你push之前,有人先push了,那么push会失败,必须fetch下来合并,并且运行起来,才能在push)

指定一个提交(commit)点作为tag,并不保存额外的信息、

包含tagger 名字、邮箱、日期、tagging msg等信息

-m 指定标记消息,若没有,系统会自动采用默认的编辑器

给之前提交(commit)加上tag

分享tags

默认情况下,git push 并不会将本地的tag,push到远程服务器上,用以下两个命令行推到远程仓库上

检出Tags

必须新建一个分支,然后将要检出的tags,指定到这新分支上

为了是命令更简单、更容易明白和操作,可以给命令添加别名如下:

运行的时候直接打 git ci可以

可视化命令 gitk

5分钟知道git如何使用?(git入门常用命令)

这里引用一下“菜鸟教程”对git的描述

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull

关于git下载安装这里就不细说了,毕竟我们只有5分钟的时间,可以去git官网下载对应的版本网上查查安装教程。

首先建立一个本地仓库(repository)。你可以使用一个已经存在的目录作为Git仓库或创建一个空目录。我这里就创建一个空目录itep为例:

初始化本地仓库

我们有一个仓库,但什么也没有,先在工作区创建一个文件‘demo.html’,可以使用add命令添加到暂存区。

我们在工作区创建了好几个新的文件,html,js,和css。接下来我们都可以添加到暂存区

当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。 注意是修改,而不是新增,新增的文件我们还是要先add,之后再修改这些文件的话,就可以直接使用-a命令了。

现在我们已经添加了这些文件,我们希望它们能够真正被保存在Git仓库。

为此,我们将它们提交到本地仓库

接下来我们发布版本,提交到远程仓库。注意这里远程仓库的地址只是举例

5分钟已经到了吧...

上面从新建一个页面,提交到远程仓库的流程已经说完了,接下来我们说点别的。。

删除文件

删除工作区和暂存区文件git rm ,删除文件有以下几种形式

对,就是这么简单,你的工作区和暂存区demo.js这个文件已经没有了

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。

强行从暂存区和工作区中删除修改后的 demo.html 文件:

如果想把文件从暂存区中删除,但仍然希望保留在当前工作目录中的话这样操作

【学了就忘】Git操作 — 14.Git基本操作(一)

要对现有的某个项目开始使用Git管理,只需到此项目所在的根目录,执行 git init 命令即可。

准备一个新的Git本地版本库:

说明:初始化Git仓库后,在当前目录下会出现一个名为 .git 的目录,所有Git需要的数据和资源都存放在这个目录中。

不过目前,仅仅是按照既有的结构框架,初始化好了Git仓库中所有的文件和目录,但我们还没有开始跟踪管理项目中的任何一个文件。

使用 git status 命令进行查看。

进入本地版本库查看工作区、暂存区中文件的状态。

1)创建文件后查看工作区、暂存区中文件的状态

我们在仓库目录中创建一个 readme.txt 文件后,在执行 git status 命令。

说明:

2)将工作区的文件添加到暂存区

执行 git add 命令,将 readme.txt 文件添加到暂存区。

3)再次查看工作区、暂存区状态

执行 git status 命令查看工作区、暂存区状态。

说明:

总结:

只要在 "Changes to be committed" 这行下面显示的文件,就说明是已暂存状态。

如果此时提交,那么该文件此时此刻的版本,将被留存在历史记录中。

在 git add 命令后面可以指明要跟踪的文件或目录路径。

如果是目录的话,就说明要递归跟踪该目录下的所有文件。(其实 git add 命令的潜台词就是把目标文件快照放入暂存区域,同时未曾跟踪过的文件标记为已跟踪。)

4)将文件从暂存区撤回到工作区

执行 git rm --cached 命令,将 readme.txt 文件从暂存区撤回到工作区。

并执行 git status 命令查看工作区、暂存区状态。

可以看到结果, readme.txt 文件又成为了一个未被Git追踪的文件。

(责任编辑:IT教学网)

更多

推荐CSS教程文章