git 命令整理

初始化一个Git仓库

git init

从现有 Git 仓库中拷贝项目

git clone <git仓库> <本地目录>

将文件添加到缓存

git add <file>
git add . //添加当前项目所有文件

将缓存区内容添加到仓库中

git commit
git commit -m '内容' //如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息

列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit)的文件

git status
git status -s //获取简短的输出结果
git status -uno  //只列表所有已经被git管理且被修改但没提交的文件

显示提交和工作树等之间的更改。此命令比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容

git diff <file> # 比较当前文件和暂存区文件差异 git diff
git diff <id1><id1><id2> # 比较两次提交之间的差异
git diff <branch1> <branch2> # 在两个分支之间比较
git diff --staged # 比较暂存区和版本库差异
git diff --cached # 比较暂存区和版本库差异
git diff --stat # 仅仅比较统计信息git diff <file> # 比较当前文件和暂存区文件差异 git diff
git diff <id1><id1><id2> # 比较两次提交之间的差异
git diff <branch1> <branch2> # 在两个分支之间比较
git diff --staged # 比较暂存区和版本库差异
git diff --cached # 比较暂存区和版本库差异
git diff --stat # 仅仅比较统计信息

显示从最近到最远的提交日志

git log
git log --pretty=oneline //查看历史记录的简洁的版本
git log --graph //在日志旁以 ASCII 图形显示分支与合并历史
git log --reverse //逆向显示所有日志
git log --author //查找指定用户的提交日志

取消已缓存的内容

git reset HEAD

Git 中移除某个文件

git rm <file>
git rm -f <file> //如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm --cached <file> //如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删
git rm –r * //进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录

移动或重命名一个文件、目录、软连接

git mv <name> <newName>

分支命令

git branch //查看本地分支
git branch -r //列出仓库中所有存在的远端分支,无论该分支是否已签出到本地
git branch -a //查看所有分支
git branch (branchname)//创建分支
git branch -d (branchname)//删除分支

切换分支

git checkout (branchname)
git checkout -b (branchname) //创建新分支并立即切换到该分支下
git checkout -b dev origin/dev  //将远程分支dev拉取到本地dev并且切换到dev分支

合并分支

git merge //从远端仓库提取数据并尝试合并到当前分支

查看所有标签

git tag
git tag -a v1.0 //创建一个带注解的标签

查看当前的远程库

git remote //查看你已经配置的远程仓库服务器
git remote -v //显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL

从远程仓库下载新分支与数据

git fetch <remote> //从远程仓库中获得数据,该命令执行完后需要执行git merge 远程分支到你所在的分支

推送到远程仓库

git push [alias] [branch] //将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支

删除远程仓库

git remote rm [别名]

git刚开始添加了在gitignore中存在的文件,后期想要删除,执行命令如下:

git rm -r --cached .  
git add .
git commit -m 'gitignore'
git push -u origin master`

git 项目切换地址源

1: git commit -m "change."   # 先把所有为保存的修改打包为一个commit

2: git remote remove origin  # 删掉原来git源

3: git remote add origin http://xxxxxxxxxx.git   # 将新源地址写入本地版本库配置文件

4: git push -u origin master   # 提交到远程分支master

git迁移仓库地址(保留分支和历史提交)

参考地址:https://blog.csdn.net/qtl_crazy/article/details/81019097

1.先克隆老项目的镜像

git clone --mirror old.git (old.git 为老项目的git地址)

2.进入老项目的目录

cd old.git

3.移除老项目的地址替换成新项目

git remote set-url --push origin  new.git (new.git 为新项目的git地址)

4.将镜像推到远程

git push --mirror  //这一步需要输入新的git的账号和密码

Git 后台代码git add 不上出现:
warning: CRLF will be replaced by LF in

原因分析:
CRLF – Carriage-Return Line-Feed 回车换行
就是回车(CR, ASCII 13, \r) 换行(LF, ASCII 10, \n)。
这两个ACSII字符不会在屏幕有任何输出,但在Windows中广泛使用来标识一行的结束。而在Linux/UNIX系统中只有换行符。
也就是说在windows中的换行符为 CRLF, 而在linux下的换行符为:LF
使用git来生成一个rails工程后,文件中的换行符为LF, 当执行git add .时,系统提示:LF 将被转换成 CRLF
CRLF – Carriage-Return Line-Feed 回车换行
解决方法:运行下 git config core.autocrlf false 再次git add .就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值