git 命令?git常用命令是什么
这篇文章给大家聊聊关于git 命令,以及git常用命令是什么对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
Git 中 6 个基本常用命令
大家好啊,我是大田。
想更深刻了解 Git常用命令,先来看看原理图:
我们使用 Git操作的核心步骤就是:
先add代码到git缓存
然后commit到git本地仓库
最后push到远程Github代码仓库
备注:
workspace:当前工作区,需要经过 add、commit、push才能上传到远程仓库
index:缓存区,标记你本地的哪些内容是被 git管理的
repository:本地仓库,保存各个版本的提交
remote:远程仓库
1、克隆远程项目到本地
git clone url
2、克隆后,创建新分支,名字叫 dev
git checkout-b dev
3、加到缓存区
1)git add.:添加所有项目至缓存区
2)git add目录名:添加指定目录到缓存区
3)git add文件名:添加指定文件到缓存区
4、提交至本地仓库
git commit-m"注释信息"
5、推送本地仓库信息至远程仓库
git push origin master:将本地分支的更新内容,全部推送至远程仓库 master分支
git push origin dev:将本地 dev分支推送到远程,再由一个人统一加到 master分支上
6、拉取远程仓库最新文件
git pull:拉取远程仓库所有分支合并到本地
git pull origin master:拉取远程master分支,合并到当前本地master分支
git fetch:仅做拉取操作,不做合并,合并需要自己再找其他方法
备注:一般都用 git pull
git常用命令是什么
1、在当前目录新建一个Git代码库,:$ git init
2、新建一个目录,将其初始化为Git代码库,:$ git init [project-name]
3、下载一个项目和它的整个代码历史,:$ git clone [url]
4、显示当前的Git配置,:$ git config--list
5、编辑Git配置文件,:$ git config-e [--global]
6、设置提交代码时的用户信息,:$ git config [--global] user.name"[name]",:$ git config [--global] user.email"[email address]"
7、添加指定文件到暂存区,:$ git add [file1] [file2]...
8、添加指定目录到暂存区,包括子目录,:$ git add [dir]
9、添加当前目录的所有文件到暂存区,:$ git add.
10、对于同一个文件的多处变化,可以实现分次提交,:$ git add-p
11、删除工作区文件,并且将这次删除放入暂存区,:$ git rm [file1] [file2]...
12、停止追踪指定文件,但该文件会保留在工作区,:$ git rm--cached [file]
13、改名文件,并且将这个改名放入暂存区,:$ git mv [file-original] [file-renamed]
14、提交暂存区到仓库区,:$ git commit-m [message]
15、提交暂存区的指定文件到仓库区,:$ git commit [file1] [file2]...-m [message]
16、提交工作区自上次commit之后的变化,直接到仓库区,:$ git commit-a
17、提交时显示所有diff信息,:$ git commit-v
18、使用一次新的commit,替代上一次提交
19、如果代码没有任何新变化,则用来改写上一次commit的提交信息,:$ git commit--amend-m [message]
20、重做上一次commit,并包括指定文件的新变化,:$ git commit--amend [file1] [file2]
扩展资料:
git有以下功能:
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull命令解决冲突,解决完冲突之后再向主开发者提交补丁。
Git常用命令
1.1配置环境
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。该用户信息和GitHub上注册的远程仓库的相关信息没有任何关系。
git config--global user.name"你的名字"
git config--global user.email"你的邮箱"
git config--list
配置信息保存在用户目录下的.giitconfig文件中
1.2获取Git仓库
要使用Git对我们的代码进行版本控制,首先需要获得Git仓库
获取Git仓库通常有两种方式:
执行步骤如下:
1、在电脑的任意位置创建一个空目录作为我们的本地Git仓库
2、进入这个目录中,点击右键打开Git bash窗口
3、执行命令git init
可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地的命令形式为:
git clone远程Git仓库地址
1.3工作目录、暂存区以及版本库概念
版本库:.git隐藏文件就是版本库,版本库存储了很多配置信息、日志信息和文件版本信息等
工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码
暂存区:.git文件夹中有很多文件,其中一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
1.4 Git工作目录下文件的两种状态
Git工作目录下的文件存在两种状态:
Unmodified未修改状态
Modified已修改状态
Staged已暂存状态
这些文件的状态会随着我们执行Git的命令发生变化
1.5本地仓库操作
git status查看文件状态
也可以使用git status-s使输出信息更简洁
git add将未跟踪的文件加入暂存区,将已经修改的文件加入暂存区也是通过这个命令
git reset将暂存区文件取消暂存
git commit-m“你的说明”将暂存区文件提交到本地仓库
git rm删除文件说明:这种操作是直接将文件加入到暂存区里面,直接提交到本地仓库生效,而直接删除的话没有进入到暂存区,需要先把文件加入到暂存区之后,再提交到本地仓库。
将文件添加至忽略列表
一般我们总会有些文件无需纳入Git的管理,也不希望他们总出现在未跟踪文件列表。通常这些都是自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitnore的文件(文件名称固定),列出忽略的文件模式。下面是一个示例:#代表注释
由于windows无法创建不含文件名的文件,因此我们需要在bash窗口中用如下命令创建。
git log查看日记记录
1.6远程仓库操作
如果想查看已经配置的远程仓库服务器,可以运行git remote命令。它会列出指定的每一个远程服务器的简写。如果已经克隆了远程仓库,那么至少可以看见origin,这是Git克隆的仓库服务器的默认名字
git remote-v可以查看对远程仓库详细一点的说明
git remote show origin可以查看对origin更详细的远程仓库的说明
运行git remote add添加一个远程Git仓库,同时指定一个可以引用的简写
如果你想获得一份已经存在了的Git仓库的拷贝,这时需要用到 git clone命令。Git克隆的是Git仓库服务器上的几乎所有数据(包括日志信息、历史记录等),而不仅仅是复制工作所需要的文件。当你执行git clone命令的时候,默认配置下Git仓库中的每一个文件的每一个版本都将被拉取下来。
如果因为一些原因想要移除一个远程仓库,可以使用git remote rm
注意:此命令只是从本地移除远程仓库的记录,并不会影响到远程仓库
git fetch是从远程仓库获取最新版本到本地仓库,不会自动merge
说明:如果使用fetch命令,拉取的文件会放到版本库里面,不会自动整合到工作区,如果需要整合到工作区,需要使用 git merge远程仓库别名/远程仓库分支
git pull是从远程仓库获取最新版本并merge到本地仓库
注意:如果本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库中拉取文件的时候会报错(fatal:refusing to merge unrelated histories),解决此我呢提可以在git pull命令后加入参数--allow-unrelated-histories
git push
1.7 Git分支
几乎所有的版本控制系统都是以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git的master是一个特殊分支。它跟其它分支没有区别。之所以每一个仓库都有mater分支,是因为git init默认创建它,并且大多数人都懒得去改动它。
#列出所有本地分支
$ git branch
#列出所有远程分支
$ git branch-r
#列出所有本地分支和远程分支
$git branch-a
git branch分支名称
git checkout分支名称
git push远程仓库别名远程仓库分支
git merge分支名称说明:在当前分支下合并其他分支
注意:如果两个分支存在同样的文件名且同行的内容不一样,那么会产生矛盾,需要自己手动修改产生矛盾后的文件,然后添加到暂存区然后提交。
git branch-d分支名称
如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,可以将命令中的-d参数改为-D
如果要删除远程仓库中的分支,可以使用命令git push origin-d branchName
1.8 Git标签
像其他版本控制系统一样,Git可以给历史中的某一给提交打上标签,以示重要。比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便地切换到标记时的状态。
#新建一个tag
$ git tag [tagName]
$ git tag
#新建一个分支,指向某个tag
$ git checkout-b [branch] [tag]
#删除本地tag
$git tag-d[tag]
#删除远程tag
$git push origin:refs/tags/[tag]
git基本操作命令
git基本操作命令有第一次初始化、工作基本操作、初始化仓库、查看仓库当前状态、文件相关操作、查看历史记录等。
一、第一次初始化
git init.
git add.
git commit-“mfirst commit”.
git remote add origin git@github.com:账号名/仓库名.git。
git pull origin master.
git push origin master#-f强。
git clone git@github.com:git账号名/仓库名.git。
二、工作基本操作
git checkout master切到主分支。
git fetch origin获取最新变更。
git checkout-b dev origin/master基于主分支创建dev分支。
git add.添加到缓存。
git commit-m‘xxx’提交到本地仓库。
git fetch origin获取最新变更。
三、初始化仓库
git init.
四、查看仓库当前状态
git status.
五、文件相关操作
1、将文件添加到仓库
git add文件名将工作区的某个文件添加到暂存区。
git add.将当前工作区的所有文件都加入暂存区。
git add-u添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件。
git add-A添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件。
git add-i进入交互界面模式,按需添加文件到缓存区。
2、将暂存区文件提交到本地仓库
git commit-m“提交说明”将暂存区内容提交到本地仓库。
git commit-a-m“提交说明”跳过缓存区操作,直接把工作区内容提交到本地仓库。
3、比较文件异同
git diff工作区与暂存区的差异。
git diff分支名工作区与某分支的差异,远程分支这样写:remotes/origin/分支名。
git diff HEAD工作区与HEAD指针指向的内容差异。
git diff提交id文件路径工作区某文件当前版本与历史版本的差异。
git diff–stage工作区文件与上次提交的差异(1.6版本前用–cached)。
git diff版本TAG查看从某个版本后都改动内容。
git diff分支A分支B比较从分支A和分支B的差异(也支持比较两个TAG)。
git diff分支A…分支B比较两分支在分开后各自的改动
另外:如果只想统计哪些文件被改动,多少行被改动,可以添加–stat参数。
六、查看历史记录
git log查看所有commit记录(SHA-A校验和,作者名称,邮箱,提交时间,提交说明)。
git log-p-次数查看最近多少次的提交记录。
git log–stat简略显示每次提交的内容更改。
git log–name-only仅显示已修改的文件清单
git log–name-status显示新增,修改,删除的文件清单。
git log–oneline让提交记录以精简的一行输出。
git log–graph–all–online图形展示分支的合并历史。
git log–author=作者查询作者的提交记录(和grep同时使用要加一个–all–match参数)。
git log–grep=过滤信息列出提交信息中包含过滤信息的提交记录。
git log-S查询内容和–grep类似,S和查询内容间没有空格。
git log fileName查看某文件的修改记录。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!