Git命令大全

共 4125字,需浏览 9分钟

 ·

2023-08-30 05:36


再使用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




浏览 33
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报