Git命令大全

ViHacker

共 4125字,需浏览 9分钟

 · 2023-08-30

再使用Git的时候,有时候知道有这么一个命令能实现这样的功能,但是又想不起具体的命令。很多时候要花时间去网上找,但是这个比较费劲,要是把所有的好用的命令都记录下来,每次打开都到这里面搜索是不是会提升不少效率?

git中一些选项解释

      -d
--delete:删除

-D
--delete --force的快捷键

-f
--force:强制

-m
--move:移动或重命名

-M
--move --force的快捷键

-r
--remote:远程

-a
--all:所有

从服务端拉取最新代码

      git pull

远程主机的某个分支的更新取回,并与本地指定的分支合并,完整格式可表示为

      git pull <远程主机名> <远程分支名>:<本地分支名>

如果远程分支是与当前分支合并,则冒号后面的部分可以省略:

      git pull origin dev

本地分支push到远端

      查看本地问价的变化

git status

      添加本地变化的文件

git add -A

      提交修改的代码到本地仓库

git commit -m"修改的描述"

      git push origin dev

提交本地test分支作为远程的test分支

      git push origin test:test

强推到远程

      git push origin HEAD --force

关联upstream

      git branch --set-upstream-to=origin/dev

本地分支,关联服务器分支

      git branch --set-upstream-to origin/devtest devtest
或者
git branch --set-upstream-to=origin/devtest devtest

拉取远程主机的更新

      git fetch

这个命令将某个远程主机的更新全部取回本地

      git fetch <远程主机名>

如果只想取回特定分支的更新,可以指定分支名

      git fetch <远程主机名> <分支名> //注意之间有空格;例如:git fetch origin master

选择或者切换到指定分支(当本地没有dev分支的时候会拉去服务器的dev代码)

      git checkout dev

把dev的代码合并到当前分支

      git checkout dev

查看本地所有分支

      git branch

查看远程所有分支

      git branch -r

查看本地和远程的所有分支

      git branch -a

新建分支

      git branch <branchname> 

删除本地分支

      git branch -d <branchname>

删除远程分支,删除后还需推送到服务器

      git branch -d -r <branchname>

删除后推送至服务器

      git push origin:<branchname>
      
    

重命名本地分支

      git branch -m <oldbranch> <newbranch>

Git统计dzh程序员的代码行数

      git log --author="dzh" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -

新建本地仓库关联git云端

       a.git init  //初始化一个git仓库
b.git remote add origin xxxxxx.git //绑定云端的git地址
C.git branch --set-upstream-to=origin/master master //关联分支
d. git pull --allow-unrelated-histories //处理报错fatal: refusing to merge unrelated histories

远程先创建好分支然后拉到本地

      git checkout -b dev origin/dev

本地先创建好分支再推送到远程

      git checkout -b feature-branch    //创建并切换到分支feature-branch
git push origin feature-branch:feature-branch //推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)

添加忽略还是删不掉文件

      git  rm -r --cached .idea

解决每次操作都需要输入用户名和密码

      git config --global credential.helper store //在~/.gitconfig目录下会多出一个文件,这里会记录你的密码和帐号;再执行git pull 输入一次正确的帐号密码之后就不用再输入了

添加TAG

      git tag -a v1.0.0 -m 'des for v1.0.0'

查看v1.0.0 TAG的描述

      git show v1.0.0

推送TAG

      git push origin --tags

查看Git的Log

      git log

操作中有时候我们会进行错误的commit,这个时候想要撤销这次提交可以使用git reset命令

      git log

git commit之后,想撤销commit

      git reset --soft HEAD^
//HEAD^的意思是上一个版本,也可以写成HEAD~1
//如果你进行了2次commit,想都撤回,可以使用HEAD~2
# 几个参数:

--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

## --soft
不删除工作空间改动代码,撤销commit,不撤销git add .

## --hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。

Git的commit注释写错了,只是想改一下注释

      git commit --amend
//此时会进入默认vim编辑器,修改注释完毕后保存就好了

回滚到某个commit

      git reset --hard HEAD^         //回退到上个版本
git reset --hard HEAD~3 //回退到前3次提交之前,以此类推,回退到n次提交之前
git reset --hard commit_id //退到/进到 指定commit的sha码

合并某个commit

      git cheery-pick f3851b6ecdcf8e641d09ab98a4462c01721b9a71
// 右键commit点击Copy Revision Number后去commit号

本地回退到某次提交

      //回退到需要的版本
git reset --hard ed3607b87ade3d1bc0c4781e9f0178f4b5864a99
//推送到服务器
git push -f -u origin master

同步远程分支,当远程分支删除了,本地还有,使用该命令即可

      git remote prune origin

0人点赞

Android


浏览 16
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报