Git命令大全
再使用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
 
评论
