常用的git指令

262 阅读5分钟

常用的git指令

创建git仓库

git init

提交所有被删除、被替换、被修改和新增的文件到数据暂存区

git add -A

提交暂存区文件到版本库

git commit -m "提交描述"

查看提交日志

git log

查看代码的修改情况

git status

新建并切换本地分支

git checkout -b "分支名"

切换本地分支

git checkout "分支名"

查看本地分支

git branch

将远程git仓库里的指定分支拉取到本地

git checkout -b 本地分支名 origin/远程分支名

将本地分支推送到远程git仓库

git push --set-upstream origin 分支名

删除本地分支

 git branch -d 分支名

删除远程分支

git push origin --delete 分支名

克隆远程项目

git clone 远程项目地址

添加源地址

git remote add origin 新源地址

更换源地址

法一:直接原基础更换源地址

git remote set-url origin 新源地址

法二:先删后加

git remote rm origin
git remote add origin 新源地址

更换了新的源地址,并不能直接立马pull 或者 push ,应该对分支添加监听才可以做操作

比如在更换了源地址后,对master分支执行git pull,提示当前分支没有跟踪信息,需要我们添加远程master的跟踪信息
在这里插入图片描述

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

在这里插入图片描述
再次执行git pull,成功更新本地master仓库

查看源地址

git remote -v

从远程分支更新本地代码

git pull

合并其他分支代码

git merge 其他分支名

取消本次merge

当我们使用git merge操作合并代码但还没add时,若想取消这次合并,使用“git merge --abort”命令即可

git merge --abort

假如不幸已经 git add 了怎么办呢? 其实也很简单,先用 git reflog 指令显示历史的操作
在这里插入图片描述
再用 git reset --hard commit id就可以回退到操作之前的状态了

git reset --hard commit id

合并其他分支的某一部分的提交记录

比如,有时候我们只需要合并B分支的某一部分提交记录到A分支中,应该怎么办呢?
分两种情况:

只合并一个commit

当只需要合并B分支的一个commit到A分支中,我们先在B分支输入指令git log查看这一commit的版本号

git log

在这里插入图片描述
比如我们要合并B分支的第三个commit到A分支中
那么我们先切换到A分支

git checkout A

再执行以下指令即可( 153d96c3b7fb5d4d7a2e1ad869c3733cce21817a是B分支这一commit的版本号)

git cherry-pick  153d96c3b7fb5d4d7a2e1ad869c3733cce21817a

A分支执行git log即可看到A分支已经有这一commit记录

合并连续的多个commit到指定的分支上

比如在B分支上有7c32be61到54dfef55的连续的10个commit,54dfef55是后面的提交。先在要将这10个commit 合并到A分支上
首先基于B分支创建一个临时分支temp,并指明新分支的最后一个commit

git checkout -b temp 54dfef55 

将temp分支上的从7c32be61到最后一个commit,也就是54dfef55的commit合并到A分支上

git rebase --onto A 7c32be61^

A分支执行git log即可看到A分支已经有这一commit记录

提交本地分支到远程仓库

git push -u origin 远程分支名 

git 版本回退

法一(不是很推荐)

  • git log 查看要回退的版本的版本号
  • git reset --hard 要回退的版本号
  • git push -f -u origin 远程分支名 // 强制push到远程分支
  • ok,服务器代码已经回退,但是如果多个同事在使用这个分支,他们本地版本还是比服务器的版本高,所以别人重新提交代码,这个版本回退的操作也会被撤销,解决办法是让别人先将他们的本地分支删掉再重新从服务器拉取分支

法二(推荐)

  • git log 查看要回退的版本的版本号
  • git revert -n 要回退的版本号
  • git commit -m “提交备注”
  • git push origin 远程分支名
  • ok,版本还原,其他同事只需要git pull更新一下代码即可