导航:首页 > 程序命令 > git常用命令总结

git常用命令总结

发布时间:2022-12-14 23:52:48

㈠ 【学了就忘】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追踪的文件。

㈡ Git工作流程和常用命令分享

git是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。林纳斯·托瓦兹在编写第一个版本时就使用了“git”这个名称, 他将工具描述为“愚蠢的内容跟踪器”。

[图片上传失败...(image-c23291-1619063471664)]

四个专有名词:

Workspace:工作区

Index / Stage:暂存区

Repository:仓库区(或本地仓库)

Remote:远程仓库

打开本地生成的.git隐藏文件

创建新项目gittest

创建新文件test.txt

git add <file>

git status显示有变更的文件

git restore <file> 撤回文件修改内容

git commit –m “注释”

修改内容-> 执行git diff工作区和本地仓库的差异

git log显示当前分支的版本历史

git reset --hard HEAD^ 当前版本回退到上一个版本

git reset --hard HEAD^ ^ 当前版本回退到上上一个版本

git reset --hard HEAD~100 回退到前100个版本

恢复已经删除的版本

git reflog 展示所有的提交记录

git reset --hard <版本号> 回退到指定版本

git push origin master 将本地master分支推送到远程master分支,相当于创建远程分支

git checkout -b dev = git branch dev + git checkout dev 创建并切换分支

git branch 不带参数,会列出所有本地的分支;带参数表示创建分支

git branch –d name 删除本地分支(-D表示强制删除)

git branch –r 不带参数,会列出所有远程的分支

git branch --set-upstream-to=origin/<branch本地> 本地和远程分支关联

git push origin –delete <branch> 删除远程分支

git merge release用于合并指定分支到当前分支上

注:Fast-forward表示的合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。在这种模式下,删除分支后,会丢掉分支日志信息。可以使用带参数 --no-ff来禁用”Fast forward”模式。

git merge --no-ff -m “注释”dev

git checkout release 切换release分支

vim test.txt 修改某条内容

git commit test.txt -m “release修改某条内容”

git checkout master 切换master分支

vim test.txt 修改某条同release内容

git commit test.txt -m “master修改某条内容”

git merge release 显示冲突

git status 显示冲突提示

Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中>>>>release 是指release上修改的内容
vim test.txt 修改内容

git add test.txt

git commit -a -m “fix conflict”

当前分支有没有提交但也不合适现在就提交的内容,Git提供了暂储功能stash

git checkout release

vim test.txt 修改test.txt内容

git checkout develop 此时会提示Aborting

git status 查看当前状态

Git stash list 查看所有暂储列表

git stash apply恢复,恢复后stash内容并不删除,你需要使用命令git stash drop来删除;
另一种方式是使用git stash pop,恢复的同时把stash内容也删除了

创建Git Tag并推送远程服务器

git tag -a V1.0.0 –m“注释” //创建TAG

git push origin V1.0.0 //推送到远程服务器

git push origin --tag //提交所有tag至服务器

git tag -d V1.0.0 //删除本地标签

git push origin --delete tag <tagname> //删除远程标签

HEAD,它始终指向当前所处分支的最新的提交点。你所处的分支变化了,或者产生了新的提交点,HEAD就会跟着改变

add相关命令很简单,主要实现将工作区修改的内容提交到暂存区,交由git管理。

git add .添加当前目录的所有文件到暂存区

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

git add 添加指定文件到暂存区

commit相关命令也很简单,主要实现将暂存区的内容提交到本地仓库,并使得当前分支的HEAD向后移动一个提交点。

git commit -m 提交暂存区到本地仓库,message代表说明信息

git commit --amend -m 使用一次新的commit,替代上一次提交

上传本地仓库分支到远程仓库分支,实现同步。

git push 上传本地指定分支到远程仓库

git push --force强行推送当前分支到远程仓库,即使有冲突

git push --all推送所有分支到远程仓库

关于分支,大概有展示分支,切换分支,创建分支,删除分支这四种操作。

git branch列出所有本地分支

git branch -r列出所有远程分支

git branch -a列出所有本地分支和远程分支

git branch 新建一个分支,但依然停留在当前分支

git checkout -b 新建一个分支,并切换到该分支

git checkout 切换到指定分支,并更新工作区

git branch -d 删除分支

git push origin --delete 删除远程分支

关于分支的操作虽然比较多,但都比较简单好记

merge命令把不同的分支合并起来。在实际开放中,我们可能从master分支中切出一个分支,然后进行开发完成需求,中间经过R3,R4,R5的commit记录,最后开发完成需要合入master中,这便用到了merge。

git merge 合并指定分支到当前分支

注:如果在merge之后,出现conflict,主要是因为两个用户修改了同一文件的同一块区域。需要针对冲突情况,手动解除冲突。

rebase又称为衍合,是合并的另外一种选择。

在开始阶段,我们处于new分支上,执行git rebase dev,那么new分支上新的commit都在dev分支上重演一遍,最后checkout切换回到new分支。这一点与merge是一样的,合并前后所处的分支并没有改变。

git rebase dev,通俗的解释就是new分支想站在dev的肩膀上继续下去。

rebase操作不会生成新的节点,是将两个分支融合成一个线性的提交。

rebase也需要手动解决冲突。

1.如果你想要一个干净的,没有merge commit的线性历史树,那么你应该选择git rebase

2.如果你想保留完整的历史记录,并且想要避免重写commit history的风险,你应该选择使用git merge

reset命令把当前分支指向另一个位置,并且相应的变动工作区和暂存区。

git reset —soft 只改变提交点,暂存区和工作目录的内容都不改变

git reset —mixed 改变提交点,同时改变暂存区的内容

git reset —hard 暂存区、工作区的内容都会被修改到与提交点完全一致的状态

git revert用一个新提交来消除一个历史提交所做的任何修改。

在回滚这一操作上看,效果差不多。git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。

在 Git工作区的根目录创建一个特殊的.gitignore文件。

在.gitignore文件中,添加需要忽略的文件。

git rm -r --cached . //将仓库中的index递归删除

git add . //重新添加仓库索引

git commit -m “update git.ignore” //提交

git branch --set-upstream-to=origin/<branch> <branch> //重现将本地仓库和远程仓库关联

最后,如果此篇博文对你有所帮助,别忘了点个赞哟~

㈢ 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常用命令是什么

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]

(4)git常用命令总结扩展阅读:

git有以下功能:

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

㈤ git基本命令ls、cat、mv、touch简述

1. 命令含义:List directory contents,用来显示目录或具体文件列表。
2. 主要用法示例:

1. 命令含义:Print and concatenate files,打印、合并文件。
2. 主要用法示例:

1. 命令含义:Move or rename files and directories,移动或重命名文件和目录。
2. 主要用法示例:

1. 命令含义:用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的空白文件。
2. 主要用法示例:

该网站几乎能够查询所有Linux命令的含义,其界面如下图:

㈥ git常用操作

如果不用"pick"或者"edit",而是指定"squash",Git 会同时应用那个变更和它之前的变更并将提交说明归并。因此,如果想将这三个提交合并为单一提交, 可以将脚本修改成这样

保存并退出编辑器,Git 会应用全部三次变更然后将送回编辑器来归并三次提交说明。

然后保存,就会拥有包含前三次提交的全部变更的单一提交 。

注:最顶行pick 不能修改为squash

当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是 git stash 命令。

“‘储藏”“可以获取工作目录的中间状态——也就是修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。

当追准备切换分支,但是还不想提交你正在进行中的工作;所以储藏这些变更。为了往堆栈推送一个新的储藏,只要运行? git stash :

这时,你可以方便地切换到其他分支工作;你的变更都保存在栈上。要查看现有的储藏,你可以使用? git stash list :

git stash apply :重新应用你刚刚实施的储藏

git stash apply stash@{number} :应用更早的储藏

只需回到需要合并的源分支,运行 git merge 命令指定要合并进来的分支即可;Git 作了合并,但没有提交,它会停下来等你解决冲突。要看看哪些文件在合并时发生冲突,可以用 git status 观察

任何包含未解决冲突的文件都会以未合并(unmerged)的状态列出。Git 会在有冲突的文件里加入标准的冲突解决标记,可以通过它们来手工定位并解决这些冲突。可以看到此文件包含类似下面这样的部分:

可以看到 ======= 隔开的上半部分,是? HEAD (即 master 分支,在运行 merge 命令时所切换到的分支)中的内容,下半部分是在 iss53 分支中的内容。解决冲突的办法无非是二者选其一或者亲自整合到一起。比如可以通过把这段内容替换为下面这样来解决:

在解决了所有文件里的所有冲突后,运行? git add ?将把它们标记为已解决状态(译注:实际上就是来一次快照保存到暂存区域。)

pull时为了防止更改后pull Feiled的出现,先执行commit,stash or revert。

㈦ Git常用命令--(ls,cat,mv,touch)

描述:列出有关文件的信息(默认为当前目录)。如果没有指定-cftuvSUX或——Sort,则按字母顺序排序。

-a 列出所有文件,包括隐藏文件和以“.”开头的文件;
-d 列出目录本身;
-l 列出条目的详细信息;
-r 以反序排列;
-t 按时间排列;
-h 显示的文件大小按人类可读的方式;
-R 递归处理子目录 ;
-X 以文件名的后缀排序;
-S 按文件大小排序

ls
列出当前目录下的所有文件,这个用的最多。
ls -al
列出所有文件(包括隐藏文件和以“.”开头的文件),及其详细信息;
ls - lt
列出所有文件详细信息,并按时间排序,时间最近的靠前。

描述:连接和查看文本文件

-n 从1开始对所有输出行进行编号;
-b 和n相似,但是空行不编号;
-s 遇到连续空行时合并为一行;

cat file1
打印文件内容
cat file1 file2 > file3
合并文件1和2的内容输出到文件3,如果文件3存在则覆盖
cat -n file1 >> file2
把文件1的内容按行编号后追加到文件2

描述:用来移动文件或者重命名

-b 若需覆盖文件,则覆盖前先备份;
-f 如果目标文件存在,强制覆盖;
-i 若目标文件存在,询问是否覆盖;
-t 移动多个源文件到一个目录,使用中目标目录写在前,源文件在后

mv aa.txt bb.txt
将文件aa.txt改名为bb.txt;
mv aa.txt demo
将文件aa.txt移动到目录demo中;
mv aa.txt bb.txt dir1; mv -t ~/Desktop/demo-1/dir2 aa.txt bb.txt
先将文件aa.txt和bb.txt移动到目录dir1,然后再将文件aa.txt和bb.txt移动到目录dir2中;
mv dir1 dir2
如果目录dir2不存在,将目录dir1改名为dir2;如果dir2存在,将dir1移动到dir2

描述:用来新建一个文件,或者修改已存在文件的时间戳

-a 只更改存取时间;
-c 不建立任何文档;
-d 使用指定的日期时间;

touch aa.txt bb.txt
创建文件aa.txt和bb.txt
touch -c cc.txt
如果cc.txt不存在就不更改时间戳也不建立cc.txt
touch -r bb.txt
更新bb.txt的时间戳

Git命令和参数都很多,需要慢慢学。可以使用Git的 --help命令查看详细用法,如输入cat --help,查看cat命令的参数及使用方法。也可以使用网站explainshell.com,输入各种组合参数的命令来查询,每一个参数都会有解释。

㈧ 常用 Git 命令汇总

下面是我整理的常用 Git 命令清单。几个专用名词的译名如下:

Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

导航目录:
1、新建
2、配置
3、帮助
4、状态
5、信息
6、添加
7、删除
8、分支
9、检出
10、远程同步
11、撤销
12、commit
13、diff
14、grep
15、log
16、merge
17、mv
18、tag
19、pull
20、ci
21、rebase (谨慎使用)
22、reset (谨慎使用)
23、其他

㈨ git的常用的几个命令

1.安装Git

阅读全文

与git常用命令总结相关的资料

热点内容
服务器托管到云端是什么意思 浏览:833
app保存草稿怎么用 浏览:808
安卓如何进入proumb 浏览:143
主机虚拟云服务器 浏览:619
删除分区加密的空间会不会恢复 浏览:705
京东app客户上门怎么看搜索量 浏览:739
怎么在农行app购买黄金 浏览:45
c型开发板和单片机 浏览:146
虚拟机建立用户的模板文件夹 浏览:904
无锡代码编程培训班 浏览:631
eps图形数据加密 浏览:933
没有滴滴app怎么打车 浏览:101
大数乘法java 浏览:1002
如何登录服务器看源码 浏览:526
如何做服务器端 浏览:157
注册服务器地址指什么 浏览:435
文本命令行 浏览:98
扑克牌睡眠解压 浏览:197
rc4算法流程图 浏览:163
胡萝卜解压方法 浏览:40