git常用命令解释
gitlab的常用命令

gitlab的常用命令GitLab是一个基于Git的版本控制系统,它提供了一系列常用的命令,用于管理和操作代码仓库。
本文将介绍一些常用的GitLab命令,并详细解释其用法和作用。
1. git clone:将远程仓库克隆到本地。
该命令用于将GitLab上的远程仓库克隆到本地。
使用该命令时,需指定远程仓库的URL,并提供一个本地目录作为克隆的目标位置。
2. git add:将文件添加到暂存区。
该命令用于将工作目录中的文件添加到Git的暂存区,以便在提交时将其纳入版本控制。
使用该命令时,可以指定特定文件名或使用通配符来添加多个文件。
3. git commit:提交代码更改。
该命令用于将暂存区中的文件提交到本地仓库,并生成一个提交记录。
每个提交记录都包含了作者、提交时间、提交信息等关键信息。
4. git push:将本地代码推送到远程仓库。
该命令用于将本地仓库中的代码推送到GitLab上的远程仓库。
在使用该命令时,需指定远程仓库的名称和分支名。
5. git pull:从远程仓库拉取最新代码。
该命令用于从GitLab上的远程仓库拉取最新的代码到本地仓库。
使用该命令时,需指定远程仓库的名称和分支名。
6. git branch:管理分支。
该命令用于创建、查看、删除和切换分支。
使用该命令时,可以使用不同的选项来实现不同的操作。
7. git merge:合并分支。
该命令用于将指定分支的代码合并到当前分支。
使用该命令时,需指定要合并的分支名称。
8. git checkout:切换分支或恢复文件。
该命令用于切换到指定的分支或恢复被修改的文件。
使用该命令时,可以指定分支名称或文件名。
9. git log:查看提交历史。
该命令用于查看本地仓库的提交历史记录。
使用该命令时,可以指定不同的选项来过滤和排序提交记录。
10. git status:查看工作目录状态。
该命令用于查看当前工作目录中文件的状态,包括已修改、已暂存和未跟踪的文件。
Gitpull(拉取)及push(上传)相关命令介绍

Gitpull(拉取)及push(上传)相关命令介绍前⾔:博主最近在学习git命令,因为git是⼀个⾮常好⽤的分布式版本管理⼯具,功能⽐svn强⼤,与SVN不同点是Git去中⼼化,每⼀个分⽀都是⼀个中⼼,并且⽀持本地仓库存储,像如今很多⼤公司都⽤git做版本控制。
话不多说,具体命令整理如下:git拉取远程代码git clone https://xxx.git git拉取远程指定分⽀下代码(-b 分⽀名称)git clone -b v2.8.1 https://xxx.git初始化⼀个本地仓库,在同级⽬录下会出现⼀个隐藏的.git⽂件git init 查看git的配置信息git config -l git配置本地仓库的userName(必须)git config 'Lee' git配置本地仓库的邮箱(必须)gitconfiguser.email'************' 三级⽂件配置路径:.git/config/.gitconfig #当前⽤户⽬录/etc/gitconfig #git安装⽬录本地提交到git索引(缓存)中git add . #把新增的、修改的都加到缓存git add -A #把新增、和修改的、和删除的都加到缓存 本地从缓存中加到⽂件库(repository)中git commit -m '版本描述' #提交到⽂件库本地⼀件提交到⽂件库中git commit -am '版本描述' #⼀步完成提交 查看当前git状态信息(查看是否有⽂件未提交)git statusgit中的三类⽂件被追踪的(tracked):已经加⼊⽂档库不被追踪的(untracked):没有加⼊⽂档库忽略的(ignored):忽略那些不需要管理的⽂件夹或⽂件 git新建忽略⽂件⽬录下建⽴⼀个.gitignore⽂件(可以有多个,影响范围当前⽂件及⼦⽂件)touch .gitignore .gitignore⽂件忽略内容demo# Maven #target/# IDEA #.idea/*.iml# Eclipse #.settings/.classpath.project注意:新建的⼀个忽略⽂件,为什么没有⽣效答:可能是因为你的缓存区已经有忽略的⽂件了,所以需要先清空缓存区⾥的⽂件,重新add和commit操作删除缓存区所有⽂件命令git rm -r --cached . #主要这个点⼀定要写 重新add到缓存区git add . 每⼀次commit都是⼀个提交点,唯⼀标识SHA1的ID,ID可使⽤前4⾄7个数字表⽰查看git的⽇志信息git log给提交点打标签 git tag -a v0.2 4a80f64(提交点SHA1的ID的前7位)git tag -a tagV1 d819565b #提交点SHA1的ID的前7位回车之后会有输⼊tag内容的界⾯,然后像linux⼀样点击 i 编辑输⼊信息后 esc 然后 :wq 保存退出简化git⽇志输出格式git log --oneline显⽰主分⽀和⾃分⽀git⽇志(前⾯会多个星号)git log --oneline --graph查看本地添加了哪些远程分⽀地址git remote查看本地添加了哪些远程分⽀地址(详细)git remote -v删除本地指定的远程地址git remote remove origin 添加远程地址git remote add origin https://xxxxxxxxxxxx.git 分⽀:分⽀意味着你可以从开发主线(master)上分离开,在不影响主线的同事继续⼯git branch #列出当前开发所有分⽀(默认会有master)git branch king #创建⼀个king的分⽀(最新提交点)git branch king 提交点 # 创建⼀个king的分⽀(指定提交点)git branch -d -r <branchname> # 删除远程分⽀,删除后还需推送到服务器git push origin:<branchname> # 删除后推送⾄服务器git branch -d king #删除king分⽀git checkout king #切换⾄king分⽀git checkout mastergit merge king #合并分⽀king和主⼲master,合并后的提交点属于主⼲master本地分⽀重命名git branch -m <oldbranch> <newbranch> #重命名本地分⽀ 查看本地和远程的所有分⽀git branch -a # 查看本地和远程的所有分⽀ 查看远程所有分⽀git branch -r # 查看远程所有分⽀重命名远程分⽀:1、删除远程待修改分⽀2、push本地新分⽀到远程服务器head节点代表最新的commit 显⽰head 信息git show HEAD回退:git reset 选项提交点(选项:--hard表⽰全恢复提交点:可⽤ID或标签)git reset --hard v0.1查询所有提交点git reflog #回退后需要反悔的话,需要通过此命令查找到所有操作的提交点合并分⽀的起始点(不推荐)git checkout mastergit rebase reking #合并分⽀reking和主⼲master,合并后的提交点属于主⼲masterclone 克隆远程⽂件git clone "远程地址" "本地⽂件名称" push 推送本地修改分⽀⾄远程git仓库git push -u origin feature-wxDemo fetch与pullfetch是将远程主机的最新内容拉到本地,不进⾏合并git fetch origin master pull 则是将远程主机的master分⽀最新内容拉下来后与当前本地分⽀直接合并 fetch+mergegit pull origin master如果远程分⽀是与当前分⽀合并,则冒号后⾯的部分可以省略。
git的基本命令

git的基本命令
Git 基本命令:
git init –初始化一个Git仓库
git config –设置Git的配置
git add –将文件添加到版本库
git commit –提交文件到版本库
git status –检查Git的当前状态
git log –显示有关提交的日志信息
git diff –查看提交之间的不同
git show –显示提交的详细信息
git remote –管理远程版本库
git checkout –切换分支或者回退版本
git reset –重置版本库到某个commit
git tag –加标签某个提交
git fetch –从远程仓库获取最新版本
git pull –从远程仓库获取最新版本并自动合并到当前git merge –合并分支到当前分支
git rebase –重新应用已存在的提交
git cherry-pick –选择提交放入当前分支
git blame –检查某行代码是谁提交的
git stash –把当前未完成的工作暂存起来
git revert –恢复版本库到某个commit
git clean - 移除未跟踪的文件
git archive –创建zip/tar文件。
git基本命令

4、版本库管理相关命令
命令 简要说明 git count-objects 显示松散对象的数量和磁盘占用 git filter-branch 版本库重构 git fsck 对象库完整性检查 git fsck-objects* 同义词,等同于 git fsck git gc 版本库存储优化 git index-pack 从打包文件创建对应的索引文件 git lost-found* 过时,请使用 git fsck –lost-found 命令 git pack-objects 从标准输入读入对象ID,打包到文件 git pack-redundant 查找多余的 pack 文件 git pack-refs 将引用打包到 .git/packed-refs 文件中 git prune 从对象库删除过期对象 git prune-packed 将已经打包的松散对象删除 git relink 为本地版本库中相同的对象建立硬连接 git repack 将版本库未打包的松散对象打包 git show-index 读取包的索引文件,显示打包文件中的内容 git unpack-objects 从打包文件释放文件 git verify-pack 校验对象库打包文件
GIT:常用分支相关命令(gitbranch)

GIT:常⽤分⽀相关命令(gitbranch)在开发过程中⼀般会⽤到Git进⾏版本管理,操作本地分⽀并与远程仓库交互是⾮常常见的操作。
branch分⽀是指在开发主线中分离出来的,做进⼀步开发⽽不影响到原来的主线。
Git存储的不是⼀系列的更改集,⽽是⼀系列快照,当你执⾏⼀次commit时,git存储⼀个commit对象,它包含⼀个指针指向你当前需要提交的内容的快照。
master分⽀是在git init命令运⾏时默认创建⼀个分⽀,并命名为master。
查看分⽀git branch // 列出本地已经存在的分⽀,当前分⽀会⽤ * 标记git branch -r // 查看远程仓库的分⽀列表git branch -a // 查看所有分⽀列表(包含本地和远程分⽀)git branch -vv // 查看本地分⽀对应的远程分⽀git branch -v // 查看⼀个分⽀的最后⼀次提交git branch --merged // 查看哪些分⽀已经合并到当前分⽀git branch --no-merged // 查看所有未合并⼯作的分⽀创建分⽀git branch dev // 创建名为dev的分⽀(创建分⽀时需要是最新的环境,创建分⽀但依然停留在当前分⽀上)提交本地分⽀git push origin dev删除分⽀git branch -d dev // 删除本地dev分⽀git branch -D dev // dev分⽀还没合并⼊当前分⽀,所以要⽤-D参数才能删除掉git push origin --delete dev // 删除远程dev分⽀git push origin // dev删除远程dev分⽀更新本地的远程分⽀列表git remote update origin --prune重命名分⽀git branch -m oldName newName // 给分⽀重命名切换分⽀/* 操作⽂件 */git checkout fileName // 放弃单个⽂件的修改git checkout . // 放弃当前⽬录的修改/* 操作分⽀ */git checkout master // 将分⽀切换到mastergit branch -b master // 如果分⽀存在则只切换分⽀,若不存在则创建并切换到master分⽀,repo start是对git checkout -b这个命令的封装,将所有仓库的分⽀都切换到master,master是分⽀名,/* 查看帮助 */git checkout --help拉取分⽀git checkout dev // 将远程分⽀dev拉取下来到本地dev分⽀git pull dev // 拉取远程分⽀dev中内容git checkout -b test origin/test_remote // 将远程分⽀test_remote拉取下来到本地test分⽀git fetch origin // 同步远程服务器的数据到本地合并分⽀/* 合并流程 */git checkout test // 切换到test分⽀git pull // 从远程仓库拉取最新代码到本地testgit checkout dev // 切换到当前分⽀ devgit merge test // 将test分⽀拉取下来的代码合并到dev/* ----------- */git merge --abort // 如果git merge的时候出现冲突,可以执⾏这个命令取消merge。
git面试常用指令

git面试常用指令Git是目前最流行的版本控制工具之一,被广泛应用于软件开发过程中。
在Git的面试中,常常会涉及到以下几个常用指令:1. git initgit init命令用于在当前目录下初始化一个新的Git仓库。
执行该命令后,Git会在当前目录下创建一个名为".git"的隐藏文件夹,用于存储仓库相关的信息。
2. git clonegit clone命令用于从远程仓库克隆代码到本地。
通过指定远程仓库的URL,Git会将代码复制到本地,并自动创建一个与远程仓库名称相同的文件夹。
3. git addgit add命令用于将文件添加到Git仓库的暂存区。
可以通过指定文件名或路径将文件添加到暂存区,也可以使用通配符添加符合条件的文件。
4. git commitgit commit命令用于将暂存区的文件提交到本地仓库。
每次提交时,都需要添加一个有意义的提交信息,描述该次提交的内容。
5. git pushgit push命令用于将本地仓库的代码推送到远程仓库。
执行该命令时,需要指定远程仓库的名称和分支名。
6. git pullgit pull命令用于从远程仓库拉取最新的代码到本地仓库。
执行该命令时,会自动合并远程仓库的代码到当前分支。
7. git branchgit branch命令用于查看和管理分支。
执行该命令时,可以查看当前仓库的所有分支,也可以创建、删除、切换分支。
8. git checkoutgit checkout命令用于切换分支或恢复文件。
通过指定分支名可以切换到其他分支,也可以通过指定文件名恢复文件到最新的提交状态。
9. git mergegit merge命令用于将指定分支的代码合并到当前分支。
执行该命令时,需要先切换到目标分支,然后执行合并操作。
10. git loggit log命令用于查看提交历史。
执行该命令时,会显示每次提交的信息,包括提交哈希值、作者、提交时间、提交信息等。
常用 Git 命令清单 - 阮一峰的网络日志

三、增加/删除文件
# 添加指定文件到暂存区 $ git add [file1] [file2] ... # 添加指定目录到暂存区,包括子目录 $ git add [dir] # 添加当前目录的所有文件到暂存区 $ git add . # 添加每个变化前,都会要求确认 # 对于同一个文件的多处变化,可以实现分次提交 $ git add ‐p # 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file1] [file2] ... # 停止追踪指定文件,但该文件会保留在工作区 $ git rm ‐‐cached [file] # 改名文件,并且将这个改名放入暂存区 $ git mv [file‐original] [file‐renamed]
十、其他
# 生成一个可供发布的压缩包 $ git archive
一、新建代码库
# 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project‐name] # 下载一个项目和它的整个代码历史 $ git clone [url]
Байду номын сангаас
二、配置
Git的设置文件为 .gitconfig ,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
常用 Git 命令清单
作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。
Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库
gitlab命令详解

1.将本地项目推送到远程仓库gitinit(初始化)gitremote-v(查看已经关联的地址)gitadd.(添加本地仓库)gitcommit-m"第一次提交"(提交说明)gitremoteaddoriginxxx(关联远程仓库)gitpull--rebaseoriginmaster(同步本地与远程仓库)gitpush-uoriginmaster(提交远程仓库)-f:强制推送至远程2.IdeaGit回退到某个历史版本找到要回退的版本号(右击项目-->Git-->ShowHistory-->选中要回退的版本-->CopyRevisionNumber)打开idea的Terminal输入命令gitreset--hard139dcfaa558e3276b30b6b2e5cbbb9c00bbdca96(后面为版本号)3.把修改推到远程服务器gitpush-f-uoriginmaster或者gitpush-f强制同步远程仓库。
4.修改项目关联远程地址方法修改命令gitremoteset-urlorigin<url>手动改去项目中.git文件夹下,编辑config配置文件中url5.Git修改分支的名称需要将分支br_rename_old修改为br_rename_new,执行如下步骤:1、执行命令gitcheckoutbr_rename_old切换到br_rename_old分支,如果已经在这个分支下,可以不执行此步骤2、执行命令gitpulloriginbr_rename_old将代码更新到和远程仓库一致3、执行命令gitbranch-mbr_rename_oldbr_rename_new将本地仓库的br_rename_old的名称修改为br_rename_new4、执行命令gitpush--set-upstreamoriginbr_rename_new将本地分支push 到远程仓库5、执行命令gitpushorigin--deletebr_rename_old将远程分支br_rename_old删除6.Git删除分支1、先切换到别的分支:gitcheckoutxxx2、删除本地分支:gitbranch-dxxx3、如果删除不了可以强制删除,gitbranch-Dxxx4、删除远程分支(慎用):gitpushorigin--deletexxx7.master分支代码复制到新的分支创建新分支:gitbranchdeveloper切换到需要合并的分支:gitcheckoutdeveloper将master分支合并当前分支:gitmergemaster推送至远程仓库:gitpushorigindeveloper8.Git迁移项目到其他代码仓库,且保留分支与提交记录gitclone--baressh://需要迁移的项目地址/项目.gitcd项目.gitgitpush--mirrorssh://其他代码仓库地址/新项目名称.git9.Git相关命令操作查看所有分支(本地+远程)gitbranch-a查看本地分支gitbranch查看远程分支:gitbranch-r创建本地新分支gitbranch<branchName>切换分支gitcheckout<branchName>将本地分支,推送到线上gitpushorigin-u<branchName>合并分支:gitmerge[name]----将名称为[name]的分支与当前分支合并拉取指定分支的代码gitclone-bdevelophttps://gitlab.xxx。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GIT ANG REPOUSAGE1 git command1.1 git add∙git add . #将文件先暂存到staging area, stages new and modified, without deleted∙git add -A #states all∙git add -u #states modified and deleted, without new∙git add -i #进入互动模式∙git add filename #新增一个文件∙git add modify-file #修改过得文档也要加add,不然在commit时要加-a 1.2 git rm #删除文件∙git rm filename1.3 git mv #修改文件名,或搬移目录∙git mv filename newfilename1.4 git status #查看状态1.5 git commit∙git commit∙git commit -m 'commit message'∙git commit -a -m "message"∙git commit -a -v #-v查看修改的内容1.6 git branch∙git branch #列出所有的分支∙git branch new-branch #产生新的分支∙git branch new-branch master #由master产生新的分支∙git branch -d branch #删除分支∙git branch -D branch #强制删除分支∙git checkout -b new-branch #产生新分支并切换过去∙git branch -r #列出所有repository branch∙git branch -a #列出所有分支1.7 git checkout∙git checkout branch-name #切换到branch-name∙git checkout master #切换到master∙git checkout -b new-branch master #从master建立新的分支,并切换过去∙git checkout -b new-branch #由当前分支建立新分支∙git checkout -b new-branch origin #由origin建立分支∙git checkout filename #还原状态到repository状态∙git checkout HEAD . #将所有文件都checkout出来∙git checkout xxxx . #xxxx是commit的编号的前四位,将xxxx编号的版本checkout出来∙git checkout – * #恢复上一次commit的状态1.8 git diff∙git diff master #与master对比看哪些文件不同∙git diff –cached #比较staging area与repository∙git diff tag1 tag2 #tag1与tag2比较∙git diff tag1:file1 tag2:file2 #tag1的file1与tag2的file2比较∙git diff #当前与staging area比较∙git diff HEAD #当前与repository比较∙git diff new-brach #当前与new branch的比较∙git diff –stat1.9 git tag∙git tag v1 ebff #为commit ebff810c462234433434323334343设置标记v1 ∙git tag 版本1 ebff #tag可以为中文∙git tag -d 版本1 #删除标记版本11.10 git log∙git log #列出所有log∙git log –all∙git log -p #列出log及修改的内容∙git log -p filename #将filename的log及修改内容列出来∙git log –name-only #列出哪些文件被修改∙git log –stat –summary #列出各个版本间的改动及行数∙git log filename #这个文件的所有log∙git log directory #这个目录的所有log∙git log -S'FUNC()‘ #列出由FUNC()这个字符串的log∙git log –no-merges #不要列出merge的log∙git log –since="2 weeks ago" #列出最后两周的log∙git log –pretty=oneline∙git log –pretty=short1.11 git show∙git show ebff #显示commit ebff810xxxxxxxxxxx的内容∙git show v1 #显示tag v1的修改内容∙git show v1:hello.txt #显示tag:v1的hello.txt文件修改内容∙git show HEAD #当前版本的修改文件∙git show HEAD^ #前一版本所有修改的文件∙git show HEAD~4 #前4版本的修改文件1.12 git reset∙git reset –hard HEAD^ #还原到前一版本∙git reset –soft HEAD~31.13 git grep∙git grep "hello" v1 #查找tag:v1中是否由“hello"字符串∙git grep "hello"1.14 git stash∙git stash #放进暂存区∙git stash list #列出暂存区的文件∙git stash pop #取出最新的一笔,并移除∙git stash apply #取出但不移除∙git stash clear #清除暂存区1.15 git merge∙git merge #合并1.16 git blame∙git blame filename #列出此文件所有commit的记录1.17 git ls-files∙git ls-files -d #查看已删除的文件∙git ls-files -d | xargs git checkout – #将已删除的文件还原1.18 git revert∙git revert HEAD #回到前一此commit的状态∙git revert HEAD^ #回到上上一次的状态1.19 git remote∙git remote∙git remote add new-branch /project.git #增加远程repository的branch∙git remote show #列出现在由多少repository∙git remote rm new-branch #删除服务器上的新分支∙git remote update #更新所有repository branch1.20 git fetch∙git fetch origin1.21 git push∙git push origin:heads/xxx-branch2 repo command2.1 repo init∙repo init -u URL #在当前目录安装repo,该命令创建一个.repo文件夹,文件夹中包含一些git仓库,这些仓库包含着repo源代码何manifest文件。
++ -u:制定一个获取manifest仓库的URL。
++ -m:选择一个仓库中的manifest,默认是default.xml ++ -b:制定一个版本,也就是一个特别的manifet-branch2.2 repo sync∙repo sync [PROJECT LIST] #下载新的改变和更新当前目录下的工作文件,该命令相当与git remote update;git rebase origin/BRANCH (BRANCH本地分支)++ -d:将制定工程切换到特定的manifest版本++ -s:同步当前工程到一个由manifet-server元素指定的可编译的版本++ -f:继续同步其他工程,即使有错误发生2.3 repo upload∙repo upload [PROJECT LIST] #上传修改的代码2.4 repo diff∙repo diff [PROJECT LIST]2.5 repo download∙repo download target revision #下载特定的版本到本地2.6 repo forall∙repo forall -c command #对每一个项目执行command2.7 repo foreach∙repo foreach [project list】-c command #对project执行command 2.8 repo start∙repo start newbranchname . #创建一个新分支2.9 repo prune∙repo prune [project list] #删除已经merge的project2.10 repo status∙repo status #显示每个仓库的状态3 创建本地repo服务器∙mkdir repositories∙cd repositories∙git init –bare manifest.git∙git init –bare project1.git∙git init –bare project2.git∙cd -∙mkdir myrepo∙cd myrepo∙git clone /path/to/manifest.git∙cd manifest∙create a default.xml file with following content:<?xml version="1.0" encoding="UTF-8"?><manifest><remote name="korg" fetch="/path/to/repositories/" review="" /><default revision="master" remote="korg" /><project path="project1" name="project1" /><project path="project2" name="project2" /></manifest>∙git add –all∙git commit -a -m "add defalut.xml"∙git push –all∙cd ..∙git clone /path/to/project1.git∙cd project1∙echo "hello project1" > hello.txt∙git add -all∙git commit -a -m “add hello.txt in project1"∙git push -all∙cd ..∙git clone /path/to/project2.git∙cd project2∙echo "hello project2" > hello.txt∙git add -all∙git commit -a -m "add hello.txt in project2"∙git push -all∙cd ../..∙mkdir myproject∙cd myproject∙repo init -u /path/to/manifet.git∙repo syncrepo logDate: 2012-05-05 六Author: Yanqing LiOrg version 7.8.11 with Emacs version 24 Validate XHTML 1.0。