git常用命令大全

git常用命令大全

查看log

git log
git log  --pretty=online

对比当前修改

git  diff

查看当前修改状态

git staus

重置当前分支到最新分支

git reset  --hard HEAD^
git  reset --hard 2132131  (版本号)    //回退d到指定版本  git reflog  查看历史log

历史log

 git  reflog

提交修改到暂存区

git add .
git add file_name

查看工作区和版本库里面最新版本的区别

git  diff  HEAD   file_name

让文件内容回到最近一次git commit或git add时的状态

git checkout file_name
git checkout .  // all

清理项目

git clean -f -d  
命令 git clean 作用是清理项目,-f 是强制清理文件的设置,-d 选项命令连文件夹一并清除。

查看分支

 git   branch

切换分支

git  checkout -b  branch_name

最新的提交从远程分支抓下来

git  pull   

标签添加

git  tag  v1.0      
git  tag  v0.9   +版本ID号

查看所有标签

 git  tag

查看标签信息

 git  show  v0.9 

创建带有说明的标签

git tag  -a  v1,1   -m '....'   +版本ID号

用私钥签名一个标签

git tag -s v0.2 -m "signed version 0.2 released" fec145a
#签名采用PGP签名,因此,必须首先安装gpg(GnuPG),如果没有找到gpg,或者没有gpg密钥对,就会报错

删除 打错的标签

git tag -d v1.0

推送某个标签到远程

 git  push  origin  v1.0
 -f  强制更新

推送所有标签到远程

git  push  origin  --tags

删除远程的标签

git  tag -d  v0.9 #删除本地
git  push  origin  :refs/tags/v0.9 #从远程删除

创建ssh并连接git客户端

第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C “邮箱”
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

点“Add Key”,你就应该看到已经添加的Key。

检测ssh是否正常

ssh -T git@github.com

本地与git远程库做关联

git remote add origin  <link_name>

推送分支到远程

git  push  -u  origin  master
git  push  origin  master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。 -f 强制推送上去。

git 推送分支相关配置

git  config   --global  push.default simple 
git push --set-upstream origin master

git 命令push的默认模式为simple 当我们执行 git push 没有指定分支的时候,自动使用当前分支,而不是报错。

从远程克隆项目

git  clone <line_name>/<project_name>

切换分支

git  checkout  master  

合并分支

 git  merge  dev 

创建分支

git branch <name>

创建+切换分支

git checkout -b <name>

合并某分支到当前分支

git merge <name>

删除分支

git branch -d <name>   
需要在其他分支上才能删除分支
git  push origin --delete <name>

查看分支合并图

git log --graph

禁用Fast forward 模式 可以显示 合并后的log

 git  merge  --no--ff   -m     '....'   dev

储藏当前工作区的代码

  git  stash 

查看储存

git stash list

恢复储存

git  stash  apply

删除存储

git  stash  drop

恢复的同时删除存储

 git  stash  pop

恢复指定存储

git  stash  apply   stash@{0}

强行删除本地分支

git  branch  -D <branch_name>

产看远程信息

git remote -v

给命令起别名

 git  config  --global  alias.st  status
 删除别名请到 .git/config  里面去删除

设置git用户名字邮箱

git  config  --global  user.name 'your name'
git   config  --global user.email  your@example.com

查看git配置

git  config  --system  --list  

下载代码到本地,不进行合并操作

git fetch --all

强制更新,忽略本地

git  fetch --all   下载远程仓库最新内容,不做合并
git reset  --hard origin/master   指令把HEAD 指向master 最新版本
git pull   

文件加入版件和文件夹不提交

git  update-index  --assume-unchanged    path/file_name  
加入到 .gitignore 文件

文件 add 了 ,但是add 错文件了,需要把文件从 stage移除

git  rm --cached  <file_path/file_name>

文件add 加入到 commit respository 了 。不想加了。(文件被还原成 modified)也就是add 之前的状态

git   reset HEAD  app/cc.php  

本地分支重命名

git branch -m oldbranchname newbranchname

查看当前的git commit 的详细信息

git  show  
 git  show  <commitId>

查看指定文件 不同分支差异

git  diff dev  dev2   admin/index.php

文件改动查看

git diff <commitID>  <commitID>  --stat    对比两个版本
git diff  <branch_name>  <branch_name> --stat   对比两个分支
git diff tag1 tag2  --stat  对比两个tag 之间的文件差异
git log -p  <file_name>  查看一个文件的具体改动记录

将远程仓库的分支拉到本地(本地没有这个分支)

git checkout -b dev2  origin/dev2

重新编写当前commit 注释(没有提交push)

git commit --amend

忽略已经被提交的 文件

git update-index --assume-unchanged  <file_name>

用其他分支 强制覆盖当前分支 并且强制 更新 当前线上分支

git checkout <branch_name>
git reset --hard  origin/master
git push -f origin <branch_name>

add 和 commit 一起执行

git commit -am '....'

解决部分报错

  1. 解决Git-warning: CRLF will be replaced by LF in XXX .
    git config core.autocrlf false 禁用自动转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值