git相关命令
git push命令用法
![git push命令用法](https://img.taocdn.com/s3/m/28388ff5a0c7aa00b52acfc789eb172ded6399d3.png)
git push命令用法git push命令用法1. 简介git push是Git中用于将本地的代码推送到远程仓库的命令。
它是Git中最常用的命令之一,具有广泛的应用场景。
2. 基本用法•git push <远程仓库名> <分支名>:将本地指定分支的代码推送到指定的远程仓库。
3. 实例演示1.创建一个新的Git仓库:git init2.添加文件:git add .3.提交文件:git commit -m "Initial commit"4.关联远程仓库:git remote add origin <远程仓库URL>5.将本地代码推送到远程仓库:git push origin master4. 推送指定分支•git push <远程仓库名> <本地分支名>:<远程分支名>:将指定的本地分支推送到指定的远程分支。
5. 实例演示1.创建一个新的Git仓库:git init2.添加文件:git add .3.提交文件:git commit -m "Initial commit"4.关联远程仓库:git remote add origin <远程仓库URL>5.将本地分支develop推送到远程分支feature:git pushorigin develop:feature6. 推送所有分支•git push <远程仓库名> --all:将所有本地分支推送到指定的远程仓库。
7. 实例演示1.创建一个新的Git仓库:git init2.添加文件:git add .3.提交文件:git commit -m "Initial commit"4.关联远程仓库:git remote add origin <远程仓库URL>5.将所有本地分支推送到远程仓库:git push origin --all8. 强制推送•git push <远程仓库名> --force:在需要强制更新远程仓库的情况下使用。
git命令行使用方法
![git命令行使用方法](https://img.taocdn.com/s3/m/6c0589e048649b6648d7c1c708a1284ac85005e1.png)
git命令行使用方法Git是一个流行的版本控制系统,它可以让开发者轻松地跟踪代码更改、合并代码以及管理代码库。
在本文中,我们将介绍如何使用Git命令行来完成常见的Git任务。
1. 安装Git首先,您需要在您的计算机上安装Git。
您可以从Git官方网站上下载适合您操作系统的安装包,并按照安装向导进行安装。
2. 创建一个本地仓库要使用Git,您需要在您的项目中创建一个本地仓库。
您可以在项目目录中打开终端,并使用以下命令来创建一个空的Git仓库。
```git init```3. 添加文件到本地仓库一旦您创建了Git仓库,您可以使用以下命令来将文件添加到仓库中。
```git add <file>```例如,要将名为'index.html'的文件添加到Git仓库中,您可以使用以下命令。
```git add index.html```4. 提交更改一旦您将文件添加到Git仓库中,您需要将更改提交到仓库中。
您可以使用以下命令来提交更改。
```git commit -m 'commit message'```例如,要提交一个带有'Initial commit'消息的更改,您可以使用以下命令。
```git commit -m 'Initial commit'```5. 查看更改历史您可以使用以下命令来查看您的Git仓库中的更改历史。
```git log```这将显示每个提交的SHA-1哈希值、作者、时间戳以及提交消息。
6. 创建分支您可以使用以下命令来创建一个新的分支。
```git branch <branch-name>```例如,要创建名为'feature-branch'的新分支,您可以使用以下命令。
```git branch feature-branch```7. 切换分支要切换到不同的分支,您可以使用以下命令。
Gitpull(拉取)及push(上传)相关命令介绍
![Gitpull(拉取)及push(上传)相关命令介绍](https://img.taocdn.com/s3/m/1d449b2082c4bb4cf7ec4afe04a1b0717fd5b3af.png)
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基本命令](https://img.taocdn.com/s3/m/033722c085254b35eefdc8d376eeaeaad1f3161b.png)
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命令最全使用,冲突解决方法
![git命令最全使用,冲突解决方法](https://img.taocdn.com/s3/m/5d7a6d0b910ef12d2bf9e7eb.png)
GIT使用技巧1、版本管理历史集中式版本控制、分布式版本控制CVS -> SVN -> GITGIT由来,出于人道主义精神,免费使用BitMover公司的BitKeeper,Samba的Andrew反向工程(试图破解BitKerper协议),收回免费使用权限,不得不自己开发,2周之后git诞生,2008年github网站上线2、安装配置git config -l 显示所有配置信息git config --global -l 显示所有全局配置信息git config --global '用户名'git config --global user.email '邮箱'git config --global push.default simple/matchingsimple:只推送当前分支matching:推送所有同名分支3、基本操作git init 初始化版本库git add test.txt 添加test.txt文件git add . 添加所有文件git commit -m '信息' 提交修改git commit -a -m '信息' 提交所有修改,相当于默认执行了(git add .) git commit -a --amend 修改上次提交(本地使用,已经推送到仓库的提交不要使用)git status [-s] 查看当前[简短]状态git log [--oneline] 查看提交日志[单行显示]git log [--graph] 查看提交日志[显示提交树]git rm filename 删除工作区文件,并将这次删除放入暂存区git rm --cached file 停止追踪文件,但文件会保留在工作区git mv old new 改文件名,并将这次修改放入暂存区4、文件忽略.gitignore文件语法规则:空行或#开头的行(注释行)将会被忽略test.txt 指定test.txt文件abc/ 忽略abc文件夹/abc 忽略当前目录下的abc,不包括其他目录下的abc*.apk 忽略后缀为apk的文件!a.apk 除了a.apk文件*.[oa] 或略所有.o和.a后缀的文件abc/*.log 忽略abc目录下的所有log文件,不会递归查找abc/**/*.log 忽略abc目录下的所有log文件,会递归查找忽略已经添加到仓库的文件或目录,[--cached]会保留本地文件忽略文件:git rm --cached file_name忽略目录:git rm -r --cached dir_name然后提交推送即可5、分支管理git branch 显示本地所有分支git branch -r 显示远程所有分支git branch -a 显示本地和远程所有分支git branch test [master] [基于master分支]创建test分支git branch -d test 删除本地test分支git push origin --delete testgit branch -dr test 结合上步操作,删除远程test分支git merge test 将test分支合并到当前分支git checkout test 切换到指定test分支git checkout -b test 创建test分支并切换git checkout index.php 将index.php文件的修改撤销git checkout . 将恢复上次commit到工作区git checkout HEAD [index] [将index文件]从版本库中替换暂存区及工作区git reset HEAD index.php 将index.php文件的add操作撤销6、开发流程master 主分支,主要用来版本发布develop 日常开发分支,该分支正常保存了开发的最新代码release master分支的未测试板,比如某期功能开发完成,那么就将develop分支合并到release分支,测试没有问题,并且到了发布日期就合并到master分支,进行发布local 本地功能分支,一般fork自develop分支7、远程分支git clone git仓库克隆一个git仓库git checkout develop 首次clone仓库后看不到其它分支,需要作此操作git pull 从托管服务器拉取并合并,若工作区或暂存区有待处理则无法执行git fetch 从托管服务器拉取,但是不合并git push 向托管服务器推送,若服务器版本有更改则会失败需要先pull8、先本地创建,再远程托管git initgit add .git commit -a -m 'init' 添加修改到暂存区并提交(只能是已经纳入管理的文件)git remote add origin 远程仓库git push -u origin master 首次需要输入用户名和密码(会缓存)git credential-manager uninstall 清除缓存的用户名和密码9、差异比较git diff 工作区与上次提交的差异git diff --cached 暂存区与上次提交的差异git diff --staged 暂存区与上次提交的差异git diff HEAD^ HEAD 上次提交和上上次提交的差异git diff sha1 sha2 两次历史提交的差异10、恢复命令1、git reset [--mixed] <commit-id> 默认选项恢复到指定提交,会修改commit和工作区,再次提交需要add/commit2、git reset --soft <commit-id>恢复到指定提交,会修改commit,再次可以直接commit3、git reset --hard <commit-id>恢复到指定提交,会修改commit和工作区,不会保留任何东西4、git reset HEAD^恢复到上次的提交,即删除最后一次的提交5、git reset HEAD index.php恢复index.php文件的add操作11、SSH登录1、在~/.ssh目录生成公钥私钥对:ssh-keygen [-t rsa]2、将公钥添加到项目中, => Settings => SSH and GPG keys3、之后即可无密码登录(首次登录会有信任提示)12、工作原理:13、标签参数介绍:-a:添加附注标签-m:指定说明信息-d:删除附注标签-l:列表显示标签实例演示:git tag [-l/--list] 列出所有标签git tag v1.0 [commit] 创建基于指定提交的标签git show [tag] 查看tag信息git push [remote] [tag] 提交指定taggit push [remote] --tags 提交所有taggit checkout -b [branch] [tag] 新建一个分支,指向某个tag14、远程同步git fetch [remote] 下载远程仓库到本地仓库,不会改变暂存区和工作区git remote -v 显示所有远程仓库git remote show [remote] 显示某个远程仓库的信息git remote add [name] url 增加一个新的远程仓库,并命名git remote remove name 移除指定的远程仓库git pull [remote] [branch] 下载远程仓库到本地仓库并合并,会改变暂存区/工作区git push [remote] [branch] 上传本地分支到远程仓库git push [remote] --force 强行推送本地分支到远程仓库,即使有冲突git push [remote] --all 推送所有分支到远程git push --set-upstream origin develop为推送本地develop分支建立与远程上游的追踪,首次推送远程不存在的分支时使用15、忽略文件权限的修改现象:首次推送到服务器上的代码,文件全部都修改了,不同系统的文件权限管理的形式不同git config core.filemode false16、冲突解决产生原因:多人的提交修改了相同的文件现象:推送失败,提示有更新的提交,请先拉取(git pull)出现冲突:<<<<<<< HEAD123 本地的修改=======111111 远程的修改>>>>>>> a5a658088bf3ef6bd5124a2eda992b91d66b1340解决方案:修改代码123111111提交推送git commit -a -m '合并冲突'git push17、忽略指定文件的修改忽略指定文件的修改:git update-index --assume-unchanged 文件名取消忽略文件的修改:git update-index --no-assume-unchanged 文件名。
常用 Git 命令清单 - 阮一峰的网络日志
![常用 Git 命令清单 - 阮一峰的网络日志](https://img.taocdn.com/s3/m/5fa711acfd0a79563c1e7279.png)
三、增加/删除文件
# 添加指定文件到暂存区 $ 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:远程仓库
git常用命令解释
![git常用命令解释](https://img.taocdn.com/s3/m/68184984d0d233d4b14e699d.png)
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文件。
git常用语句
![git常用语句](https://img.taocdn.com/s3/m/0f770a3ee97101f69e3143323968011ca300f73d.png)
git常用语句
1. git init - 创建一个新的本地仓库
2. git clone [URL] - 克隆一个远程仓库到本地
3. git add [文件名] - 将文件添加到暂存区
4. git commit -m "提交信息" - 将暂存区的文件提交到本地仓库
5. git push origin [分支名] - 将本地仓库的文件推送到远程仓库
6. git pull origin [分支名] - 从远程仓库拉取最新的文件到本地仓库
7. git branch - 查看当前分支
8. git branch [分支名] - 创建一个新的分支
9. git checkout [分支名] - 切换到指定的分支
10. git merge [分支名] - 合并指定分支到当前分支
11. git status - 查看当前文件状态
12. git log - 查看提交历史
13. git remote add origin [远程仓库URL] - 添加远程仓库地址
14. git remote -v - 查看当前仓库关联的远程仓库地址
15. git diff - 查看当前文件与上次提交的差异
16. git reset [commit] - 撤销提交
17. git stash - 将当前修改的文件暂存起来
18. git stash pop - 恢复最近一次暂存的文件修改
19. git checkout -- [文件名] - 撤销对文件的修改
20. git remote update origin --prune - 清理远程仓库中已删除的分支信息。
git edit 用法
![git edit 用法](https://img.taocdn.com/s3/m/db46ff2c001ca300a6c30c22590102020740f2e8.png)
git edit 用法Git 是一个分布式版本控制系统,它可以帮助开发者更好地管理项目的版本和代码变动。
Git 提供了许多命令和功能,其中包括`git edit` 命令。
`git edit` 命令是Git 提供的一个用于修改现有文件的命令。
通过使用`git edit` 命令,开发者可以直接在工作目录中对某个文件进行编辑,然后提交修改到版本库中。
下面将一步一步地回答关于`git edit` 命令的使用方法和注意事项。
第一步:确保正确配置Git在使用`git edit` 命令之前,首先需要确保正确配置了Git。
可以通过运行以下命令来查看当前Git 的配置信息:git config list确保配置中包含了正确的用户名和邮箱地址,这样在提交修改时才能正确地记录作者信息。
第二步:切换到适当的分支在执行`git edit` 命令之前,需要确保当前分支是正确的。
可以通过运行以下命令来查看当前所在的分支:git branch show-current如果当前所在的分支不是需要编辑文件的分支,可以使用`git branch` 命令来切换到正确的分支:git checkout <branch-name>这里的`<branch-name>` 是目标分支的名称。
第三步:使用git edit 命令编辑文件在确保当前分支正确后,可以使用`git edit` 命令来编辑文件。
该命令的基本语法如下:git edit <file-path>这里的`<file-path>` 是需要编辑的文件的路径。
可以是相对路径或绝对路径。
运行上述命令后,Git 会尝试使用默认的文本编辑器打开该文件。
如果使用的操作系统是Linux 或macOS,通常会使用`vi` 或`vim` 编辑器。
如果是Windows 系统,通常会使用Notepad++ 或默认的记事本编辑器。
在编辑器中进行必要的修改,并保存文件。
git中Bash基本操作命令
![git中Bash基本操作命令](https://img.taocdn.com/s3/m/27cf0b1815791711cc7931b765ce0508763275ba.png)
git中Bash基本操作命令1)、cd : 改变⽬录。
2)、cd . . 回退到上⼀个⽬录,直接cd进⼊默认⽬录3)、pwd : 显⽰当前所在的⽬录路径。
4)、ls(ll): 都是列出当前⽬录中的所有⽂件,只不过ll(两个ll)列出的内容更为详细。
5)、touch : 新建⼀个⽂件如 touch index.js 就会在当前⽬录下新建⼀个index.js⽂件。
6)、rm: 删除⼀个⽂件, rm index.js 就会把index.js⽂件删除。
7)、mkdir: 新建⼀个⽬录,就是新建⼀个⽂件夹。
8)、rm -r : 删除⼀个⽂件夹, rm -r src 删除src⽬录,好像不能⽤通配符。
9)、mv 移动⽂件, mv index.html src index.html 是我们要移动的⽂件, src 是⽬标⽂件夹,当然, 这样写,必须保证⽂件和⽬标⽂件夹在同⼀⽬录下。
10)、reset 重新初始化终端/清屏。
11)、clear 清屏。
12)、history 查看命令历史。
13)、help 帮助。
14)、exit退出。
15)、#表⽰注释git remote:查看远程库信息git remote -v:远程库详细信息git branch -r , git branch -a 查看远程分⽀git push 将当前分⽀推送到远程对应的分⽀(若远程⽆对应分⽀,则推送⽆效)git push origin dev 将分⽀dev提交到远程origin/dev(远程没有则创建, 远程没有dev则创建)git branch –set-upstream branch-name origin/branch-name 建⽴本地分⽀和远程分⽀的关联git checkout -b dev origin/dev 创建远程的origin/dev分⽀到本地分⽀常⽤命令查看分⽀:git branch创建分⽀:git branch name切换分⽀:git checkout name ⼯作区⽂件内容会⽴即变化成对应分⽀的内容创建+切换分⽀:git checkout -b name合并某分⽀到当前分⽀:git merge name删除分⽀:git branch -d name查看分⽀合并情况:git log –graph –pretty=oneline –abbrev-commit合并分⽀(fast forward):git merge name合并分⽀(禁⽤ Fast forward):git merge –no-ff -m “描述” dev标签常⽤命令1、创建标签git tag tagname 对当前版本建⽴标签git tag tagname commit_id 对历史版本建⽴标签git tag -a tagname -m “描述…” commit_id 添加说明git tag 查看所有标签git show tagname 查看某个标签具体信息2、删除标签git tag -d tagname 删除本地标签3、推送标签git push origin tagname 推送本地的某个标签到远程git push origin –tags ⼀次性推送所有分⽀4、删除远程标签git tag -d tagname 先删除本地git push origin :refs/tags/tagname 从远程删除Git配置 - git config使⽤git config -l 查看现在的git环境详细配置设置⽤户名与邮箱(⽤户标识,必要) $ git config --global "[名称]"$ git config --global user.email [邮箱]# 添加指定⽂件到暂存区$ git add [file1] [file2] ...# 添加指定⽬录到暂存区,包括⼦⽬录$ git add [dir]# 添加当前⽬录的所有⽂件到暂存区$ git add .。
Git操作详解
![Git操作详解](https://img.taocdn.com/s3/m/749435100640be1e650e52ea551810a6f524c8f6.png)
Git操作详解,学会Git⼏乎成了开发者的必备技能。
是⽬前最流⾏的,学会是⽬前最流⾏的Git有很多优势,其中之⼀就是远程操作⾮常简便。
本⽂详细介绍5个Git命令,它们的概念和⽤法,理解了这些内容,你就会完全掌握Git远程操作。
git clonegit remotegit fetchgit pullgit push本⽂针对初级⽤户,从最简单的讲起,但是需要读者对Git的基本⽤法有所了解。
同时,本⽂覆盖了上⾯5个命令的⼏乎所有的常⽤⽤法,所以对于熟练⽤户也有参考价值。
⼀、git clone远程操作的第⼀步,通常是从远程主机克隆⼀个版本库,这时就要⽤到git clone命令。
$ git clone <版本库的⽹址>⽐如,克隆jQuery的版本库。
$ git clone https:///jquery/jquery.git该命令会在本地主机⽣成⼀个⽬录,与远程主机的版本库同名。
如果要指定不同的⽬录名,可以将⽬录名作为git clone命令的第⼆个参数。
$ git clone <版本库的⽹址> <本地⽬录名>git clone⽀持多种协议,除了HTTP(s)以外,还⽀持SSH、Git、本地⽂件协议等,下⾯是⼀些例⼦。
$ git clone http[s]:///path/to/repo.git/$ git clone ssh:///path/to/repo.git/$ git clone git:///path/to/repo.git/$ git clone /opt/git/project.git$ git clone file:///opt/git/project.git$ git clone ftp[s]:///path/to/repo.git/$ git clone rsync:///path/to/repo.git/SSH协议还有另⼀种写法。
$ git clone [user@]:path/to/repo.git/通常来说,Git协议下载速度最快,SSH协议⽤于需要⽤户认证的场合。
git pull用法
![git pull用法](https://img.taocdn.com/s3/m/2c8239244531b90d6c85ec3a87c24028915f859f.png)
git pull用法一、概述Git pull是Git中常用的命令之一,它可以将远程仓库中的代码更新到本地仓库中,使本地仓库与远程仓库保持同步。
在团队协作开发过程中,经常需要使用git pull命令来获取最新的代码。
二、语法git pull [options] [<repository> [<refspec>...]]三、参数说明1. options:可选参数,用于指定git pull命令的行为。
2. repository:可选参数,用于指定要从哪个远程仓库拉取代码,默认为origin。
3. refspec:可选参数,用于指定要拉取哪些分支或标签,默认为当前分支。
四、常用选项1. --rebase:将本地修改合并到拉取的代码后面。
2. --no-rebase:不将本地修改合并到拉取的代码后面。
3. --ff-only:只允许快进合并(Fast-Forward)。
4. --no-ff:不允许快进合并。
5. --squash:将多次提交压缩成一次提交。
6. --no-squash:不压缩多次提交。
五、示例1. git pull origin master:从远程仓库origin的master分支上拉取最新代码到当前分支。
2. git pull --rebase origin master:从远程仓库origin的master分支上拉取最新代码到当前分支,并将本地修改合并到拉取的代码后面。
3. git pull --no-rebase origin master:从远程仓库origin的master分支上拉取最新代码到当前分支,不将本地修改合并到拉取的代码后面。
4. git pull --ff-only origin master:从远程仓库origin的master分支上拉取最新代码到当前分支,只允许快进合并。
5. git pull --no-ff origin master:从远程仓库origin的master分支上拉取最新代码到当前分支,不允许快进合并。
Git常用命令
![Git常用命令](https://img.taocdn.com/s3/m/71911b651eb91a37f1115cd9.png)
后面可以跟目录
Git简单介绍(10)
Git remote - 用于管理远程仓库
常用的 $git remote -v
$git remote add center ssh://benn@192.168.1.11/git_repo/linux2.6.36.git $git remote rm center $git remote show center
Git简单介绍(19)
Git apply
略
Git简单介绍(20)
Git format-patch
略
Git简单介绍(21)
Git am
略
Git web界面
浏览http://192.168.1.11/git,简单介绍下
举例1
Intro-to-git.pdf P194~251
举例2
A10 Linux BSP使用
1. 获取repo工具
2. 获取A10配置文件 $repo/repo init -u git://192.168.1.11/manifest.git -m sun4i.xml
用浏览器打开http://192.168.1.11/git,进入 manifest.git的tree页面,可查看配置文件
Git add - 把文件添加到index表中
常用的: $git add . $git add file1 file2
Committing
Staging
Git简单介绍(4)
Git status – 查看当前工作目录的状态
当前工作目录与HEAD的比较 $git status
Git简单介绍(5)
Git的常用命令
![Git的常用命令](https://img.taocdn.com/s3/m/c12e070eb6360b4c2e3f5727a5e9856a561226bc.png)
Git的常⽤命令Git常⽤命令汇总以及其它相关操作⼀、常⽤的git命令--⽂件⽬录操作命令mkdir * 创建⼀个空⽬录 *指⽬录名pwd显⽰当前⽬录的路径。
cat * 查看*⽂件内容git rm * 删除**⽂件--git初始化操作git init 把当前的⽬录变成git仓库,⽣成隐藏.git⽂件。
git remote add origin url 把本地仓库的内容推送到GitHub仓库。
git clone git@url/test.git 从远程库克隆git add * 把x⽂件添加到暂存区去。
git commit –m "*"提交⽂件 –m 后⾯的是注释。
--git 克隆分⽀git clone xxx.git 最简单直接的命令git clone xxx.git "指定⽬录" clone到指定⽬录git clone -b branchname xxx.git clone时创建新的分⽀替代默认Origin HEAD(master)--clone 远程分⽀ git clone 命令默认的只会建⽴master分⽀,如果你想clone指定的某⼀远程分⽀(如:dev)的话,可以如下: 1. 查看所有分⽀(包括隐藏的) git branch -a 显⽰所有分⽀ * masterremotes/origin/HEAD -> origin/masterremotes/origin/devremotes/origin/master2. 在本地新建同名的("dev")分⽀,并切换到该分⽀git checkout -t origin/dev#该命令等同于:git checkout -b dev origin/dev--查看命令git status 查看仓库状态git diff * 查看X⽂件修改了那些内容git log 查看历史记录git reflog 查看历史记录的版本号id(记录你的每⼀次命令,不论是否提交)git log --pretty=oneline 如果信息量太多可以进⾏⽐较好的列表显⽰--版本回退git reset –hard HEAD^ 回退到上⼀个版本git reset --hard HEAD~第⼏个如果想回退到第3个版本,使⽤git reset –hard HEAD~3git reset --hard 057d 回退到某⼀个具体的版本号--撤销修改git checkout file-name 恢复某个已修改的⽂件(撤销未提交的修改):git revert HEAD 还原最近⼀次提交的修改:git revert commit-id还原指定版本的修改--分⽀管理git branch 查看本地所有的分⽀git branch -a 查看远程所有的分⽀git branch name 创建分⽀git branch –d dev 删除dev分⽀git push origin --delete dev 删除远程的dev分⽀git branch -m dev develop 重命名分⽀git checkout –b dev 创建dev分⽀并切换到dev分⽀上git merge dev 在当前分⽀上合并dev分⽀代git push origin zyf-dev 把当前新增的zyf-dev分⽀推送到远程库(远程仓库没有给分⽀则会新建⽴该分⽀)git checkout — * 把XX⽂件在⼯作区的修改全部撤销。
git版本还原指令
![git版本还原指令](https://img.taocdn.com/s3/m/7d66abb1d1d233d4b14e852458fb770bf68a3b7a.png)
git版本还原指令在使用Git进行代码版本控制的过程中,我们经常会遇到需要还原之前的某个版本的情况。
Git提供了一系列的指令,可以帮助我们快速、准确地还原到指定的版本。
本文将介绍几个常用的Git版本还原指令,希望能对大家在日常工作中使用Git有所帮助。
1. git log:查看提交历史在进行版本还原之前,我们首先需要了解提交历史。
使用git log指令可以查看当前分支的提交历史,包括每个提交的作者、提交时间、提交信息等。
通过查看提交历史,我们可以找到需要还原的版本对应的提交ID或者提交信息。
2. git reset:还原到指定版本一旦确定了需要还原的版本,我们就可以使用git reset指令将代码还原到指定的版本。
git reset命令有三个主要的参数:--soft、--mixed和--hard。
其中,--soft参数会保留之前的修改,只是将HEAD指针移动到指定版本;--mixed参数会保留之前的修改,但是会将这些修改放入暂存区;--hard参数会完全还原到指定版本,并且会丢弃之前的修改。
3. git checkout:切换到指定版本除了使用git reset指令进行版本还原外,我们还可以使用git checkout指令来切换到指定版本。
使用git checkout指令可以将HEAD指针指向指定的提交,从而切换到对应的版本。
需要注意的是,使用git checkout指令切换到指定版本后,我们处于“分离头指针”的状态,此时的修改不会被保存,如果有需要的话,我们可以手动创建一个分支来保存这些修改。
4. git revert:撤销指定版本的修改有时候,我们并不希望完全还原到指定版本,而是只想撤销某个版本引入的修改。
这个时候,git revert指令就派上用场了。
使用git revert指令可以创建一个新的提交,将指定版本的修改撤销掉。
通过撤销指定版本的修改,我们可以保留之前的提交历史,并且可以更加灵活地管理代码。
Git常用命令总结
![Git常用命令总结](https://img.taocdn.com/s3/m/729575a01a37f111f0855b17.png)
git revert
反转撤销提交.只要把出错的提交(commit)的名字(reference)作为参数传给命令就可以了.
git revert HEAD: 撤销最近的一个提交.
git revert会创建一个反向的新提交,可以通过参数-n来告诉Git先不要提交.
git add .
会递归地添加当前工作目录中的所有文件.
git diff
不加参数的git diff:
show diff of unstaged changes.
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容.
git reset --hard
unstage files AND undo any changes in the working directory since last commit.
使用git reset —hard HEAD进行reset,即上次提交之后,所有staged的改动和工作目录的改动都会消失,还原到上次提交的状态.
git diff [branchA]…[branchB]给出的.
实际上它是:git diff $(git merge-base [branchA] [branchB]) [branchB]的结果.
git commit
提交已经被add进来的改动.
git commit -m “the commit message"
同样是用来看改动的相对信息的,--stat比-p的输出更简单一些.
git add
在提交之前,Git有一个暂存区(staging area),可以放入新添加的文件或者加入新的改动. commit时提交的改动是上一次加入到staging area中的改动,而不是我们disk上的改动.
Linux中Git集中操作命令汇总
![Linux中Git集中操作命令汇总](https://img.taocdn.com/s3/m/9fa4731ebb1aa8114431b90d6c85ec3a87c28bd5.png)
Linux中Git集中操作命令汇总SyntaxHighlightergit version # 查看版本git config -l # 查看当前配置git config --global "Dean" # 设置⽤户名,邮箱git config --global user.email g.xiangyu1990@ # 设置⽤户名,邮箱git config --global alias.ci commit # 设置git命令的别名git config --global alias.co checkout # 设置git命令的别名git仓库(repository):# 创建⼀个本地的git仓库并命名:git init demo# 克隆⼀个远程的git仓库到指定路径:git clone https:///a396901990/android.git /path/workpsacegit分⽀(branch):git branch # 查看分⽀git remote show origin # 查看所有分⽀git branch <branchname> # 创建新分⽀git checkout <branchname> # 切换到分⽀git checkout -b <new_branch> # 创建并切换到新分⽀git branch -d <branchname> # 删除分⽀(-D强删)git branch -m <old> <new> # 本地分⽀重命名git添加(add):git add <file> # 将本地指定⽂件名或⽬录(新增和修改,没有删除)的⽂件添加到暂存区git add . # 将本地所有的(新增和修改,没有删除)⽂件添加到暂存区git add -u # 将本地的(修改和删除,没有新增)⽂件添加到暂存区git add -A # 将本地所有改动添加到暂存区(git add -A = git add . + git add -u)git add -i # 打开⼀个交互式界⾯按需求添加⽂件git删除/重命名(rm/mv):git rm <file> # 删除⽂件git rm -r <floder> # 删除⽂件夹git rm --cached <file> # 从版本库中删除⽂件,但不删除⽂件git mv <old_name> <new_name> # ⽂件重命名git提交(commit):git commit -m "comment" # 提交暂存区中的内容(已经add)并添加注释git commit -a # 把修改的⽂件添加到暂存区(不包括新建(untracked)的⽂件),然后提交。
Git常用命令详解
![Git常用命令详解](https://img.taocdn.com/s3/m/d2808cb964ce0508763231126edb6f1afe007156.png)
Git常⽤命令详解Git 是⼀个很强⼤的分布式版本管理⼯具,它不但适⽤于管理⼤型开源软件的源代码(如:),管理私⼈的⽂档和源代码也有很多优势(如:)Git 的更多介绍,请参考我的上⼀篇博客:⼀、 Git 命令初识在正式介绍Git命令之前,先介绍⼀下Git 的基本命令和操作,对Git命令有⼀个总体的认识⽰例:从Git 版本库的初始化,通常有两种⽅式:1)git clone:这是⼀种较为简单的初始化⽅式,当你已经有⼀个远程的Git版本库,只需要在本地克隆⼀份例如:git clone git:///someone/some_project.git some_project上⾯的命令就是将'git:///someone/some_project.git'这个URL地址的远程版本库,完全克隆到本地some_project⽬录下2)git init 和 git remote:这种⽅式稍微复杂⼀些,当你本地创建了⼀个⼯作⽬录,你可以进⼊这个⽬录,使⽤'git init'命令进⾏初始化;Git 以后就会对该⽬录下的⽂件进⾏版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建⼀个⽬录,并把可访问的URL记录下来,此时你就可以利⽤'git remote add'命令来增加⼀个远程服务器端,例如:git remote add origin git:///someone/another_project.git上⾯的命令就会增加URL地址为'git: ///someone/another_project.git',名称为origin的远程服务器,以后提交代码的时候只需要使⽤ origin别名即可⼆、 Git 常⽤命令1) 远程仓库相关命令检出仓库: $ git clone git:///jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add [name] [url]删除远程仓库:$ git remote rm [name]修改远程仓库:$ git remote set-url --push [name] [newUrl]拉取远程仓库:$ git pull [remoteName] [localBranchName]推送远程仓库:$ git push [remoteName] [localBranchName]*如果想把本地的某个分⽀test提交到远程仓库,并作为远程仓库的master分⽀,或者作为另外⼀个名叫test的分⽀,如下:$git push origin test:master // 提交本地test分⽀作为远程的master分⽀$git push origin test:test // 提交本地test分⽀作为远程的test分⽀2)分⽀(branch)操作相关命令查看本地分⽀:$ git branch查看远程分⽀:$ git branch -r创建本地分⽀:$ git branch [name] ----注意新分⽀创建后不会⾃动切换为当前分⽀切换分⽀:$ git checkout [name]创建新分⽀并⽴即切换到新分⽀:$ git checkout -b [name]删除分⽀:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分⽀,对于未有合并的分⽀是⽆法删除的。
git push -f命令的用法
![git push -f命令的用法](https://img.taocdn.com/s3/m/1e68de5ffbd6195f312b3169a45177232f60e4b3.png)
git push -f命令用于强制推送(force push)到远程仓库。
它允许你覆盖远程仓库中的历史记录,将你的本地仓库中的更改强制推送到远程仓库。
使用git push -f命令时,你需要指定目标远程仓库和分支名称。
语法如下:
php复制代码
git push <remote> <branch> -f
其中<remote>是目标远程仓库的名称,可以是origin、upstream等,<branch>是目标分支的名称,可以是master、main、dev等。
例如,要将本地的master分支强制推送到远程仓库的master分支,可以运行以下命令:perl复制代码
git push origin master -f
这将强制推送本地的master分支到远程仓库的master分支,即使远程仓库中存在冲突或不同历史的提交也会被覆盖。
需要注意的是,强制推送会覆盖远程仓库中的历史记录,可能会导致数据丢失或破坏其他开发者的工作。
因此,在使用git push -f命令之前,请确保你了解其影响,并谨慎使用。
git-bash 参数
![git-bash 参数](https://img.taocdn.com/s3/m/811a676c905f804d2b160b4e767f5acfa0c7834d.png)
git-bash 参数Git Bash是一个用于在Windows系统中运行Git命令的命令行工具。
它提供了一个类似于Unix风格的命令行环境,可以方便地使用Git进行版本控制操作。
在Git Bash中,可以使用一些参数来扩展和定制Git的功能。
下面是一些常见的Git Bash参数及其相关参考内容。
1. --version:显示Git的版本信息。
可以使用该参数来检查Git的版本是否满足需求。
例如,输入`git --version`即可显示Git的版本信息。
2. --help:显示Git的帮助信息。
可以使用该参数来查找Git命令的使用方法和选项说明。
例如,输入`git --help`即可显示Git 的帮助信息。
3. --git-dir=<目录>:指定存储Git仓库的目录。
可以使用该参数来操作指定目录下的Git仓库,而不是当前目录下的仓库。
例如,输入`git --git-dir=/path/to/repo status`即可在`/path/to/repo`目录下执行`git status`命令。
4. --work-tree=<目录>:指定工作目录。
可以使用该参数来操作指定目录下的文件,而不是当前目录下的文件。
例如,输入`git --work-tree=/path/to/worktree status`即可在`/path/to/worktree`目录下执行`git status`命令。
5. --bare:指定裸仓库的模式。
可以使用该参数来创建一个无工作目录的裸仓库,用于共享和备份。
裸仓库不包含工作目录,只包含Git的版本数据。
例如,输入`git --bare init`即可创建一个裸仓库。
6. --no-pager:禁用分页显示。
可以使用该参数来禁止Git命令的输出使用分页显示器,直接显示在终端上。
例如,输入`git --no-pager log`即可在终端上显示完整的日志信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面加“*”号标记,例如:
#git branch
* master
newbranch
git branch -r 列出远程分支,例如:
#git branch -r
or: git merge [options] <msg> HEAD <commit>
or: git merge --abort
-n do not show a diffstat at the end of the merge
--stat show a diffstat at the end of the merge
--summary (synonym to --stat)
--log[=<n>] add (at most <n>) entries from shortlog to merge commi t message
git branch -d | -D branchname 删除branchname分支
git branch -d -r branchname 删除远程branchname分支
例子:
git help branch中的一个例子:
$ git clone git:///pub/scm/.../linux-2.6 my2.6
判断是否使用--squash选项最根本的标准是,待合并分支上的历史是否有意义。
如果在开发分支上提交非常随意,甚至写成微博体,那么一定要使用--squash选项。版本历史记录的应该是代码的发展,而不是开发者在编码时的活动。
只有在开发分支上每个commit都有其独自存在的意义,并且能够编译通过的情况下(能够通过测试就更完美了),才应该选择缺省的合并方式来保留commit历史。
m/master -> origin_apps/m1_2.3.4
origin_apps/hardware/test
origin_apps/m1
origin_apps/m1_2.3.4
origin_apps/master
git branch -a 列出本地分支和远程分支,例如:
-s, --strategy <strategy>
merge strategy to use
-X, --strategy-option <option=value>
option for selected merge strategy
--abort abort the current in-progress merge
--progress force progress reporting
-S, --gpg-sign[=<key id>]
GPG sign commit
-m, --message <message>
merge commit message (for a non-fast-forward merge)
-v, --verbose be more verbose
-q, --quiet be more quiet
--ff allow fast-forward (default)
--ff-only abort if fast-forward is not possible
--rerere-autoupdate update the index with reused conflict resolution if po ssible
remotes/origin_apps/m1_2.3.4
remotes/origin_apps/master
git branch 创建一个新的本地分支,需要注意,此处只是创建分支,不进行分支切换,例如:
#git branch newbranch2
#git branch
--overwrite-ignore update ignored files (default)
git merge [options] <msg> HEAD <commit> 这里的 HEAD 其实就是分支名,用于说明把 HEAD 分支合并到当前分支。
--squash选项的含义是:本地文件内容与不使用该选项的合并结果相同,但是不保留待合并分支上的历史信息,也不提交、不移动HEAD,因此需要一条额外的commit命令。其效果相当于将another分支上的多个commit合并成一个,放在当前分支上,原来的commit历史则没有拿过来。
$ cd my2.6
$ git branch my2.6.14 v2.6.14
$ git checkout my2.6.14
第三行符合git branch <branchname> [<start-point>]的格式,即以v2.6.14为start-point,创建新的本地分支branchname。
#git branch -a
* master
newbranch
remotes/m/master -> origin_apps/m1_2.3.4
remotesorigin_apps/m1
git merge的基本用法为把一个分支或或某个commit的修改合并现在的分支上。
我们可以运行git merge -h和git merge --help查看其命令,后者会直接转到一个网页(git的帮助文档),更详细。
usage: git merge [options] [<commit>...]
* master
newbranch
newbranch2
当前的分支依然是master,不进行切换。
git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。
--squash create a single commit instead of doing a merge
--commit perform a commit if the merge succeeds (default)
-e, --edit edit message before committing