概念git 中的术语解释:
文章插图
- 仓库也叫版本库(repository)
- stage:暂存区,add 后会存到暂存区,commit 后提交到版本库
- 第一种方法:yum install git-core 安装的版本比较老
- 第二种方法:(我是 linux centos)
- 卸载老版本
yum remove gi
- 安装依赖
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidocyum install gcc perl-ExtUtils-MakeMaker
- 执行安装
wget https://github.com/git/git/archive/v2.2.1.tar.gztar -zxvf v2.2.1cd git-2.2.1make configure./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconvmakemake installecho "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrcsource /etc/bashrc
- 先新建一个文件夹 mkdir test
- 进入该文件夹执行 git init 命令,就能初始化仓库了
添加文件到仓库(实际就是把工作区的内容添加到暂存区)
git add <file>
提交代码(就是把暂存区的内容提交到当前分支)git commit -m "说明"
强制提交,比如用旧版本覆盖老版本时原本会报错,就可以用下面的命令git push -f origin master
查看提交历史git log
记录着操作命令,也就是命令历史git reflog
将现有工作区的隐藏起来(一个分支开发到一半 , 代码还不能提交,但是需要切换到别的分支去看看代码时可以使用)git stash
恢复隐藏的工作区git stash pop
清空隐藏的工作区git stash cleargit stash drop stash@{0} 删除第一个队列
查看隐藏的工作区的内容git stash list
指定恢复哪一个隐藏的工作区内容git stash apply stash@{0}
提交时忽略指定文件- 在.gitignore 中写要忽略的文件名即可
- 如果已经使用过 add 命令了,那么要先执行 git rm -r --cached .
- 然后在使用 add . 才能加入忽略规则
git merge --squash dev
取消命令取消 rebasegit rebase --abort
取消提交了的内容git reset --soft HEAD^
清除缓存/清除已经推上去的不要的文件git rm -r --cached . //需要完整复制
清除推上去的 idea 相关文件【工作7年收集到的git命令】
git rm --cached -r .idea
撤销相关将工作区的修改撤销掉
git checkout -- a.txt (注意:--很重要 , 如果没有--,这个命令就变成了切换分支)
这个撤销会有两种效果:第一种是修改后没有放到暂存区,那么撤销后会回到和版本库一样的状态
第二种是修改后放入了暂存区 , 又做了修改,那么撤销后会回到和暂存区一样的状态 。
总之,就是让这个文件回到最近一次 git commit 或 git add 时的状态 。
将暂存区的修改撤销掉
git reset HEAD file
代码回退 (提交一次就有一个版本,HEAD 表示当前版本,HEAD^表示上一个版本,HEAD~10 表示前第 100 个版本)git reset --hard HEAD^ //回退到上一个版本
代码回退之后还可以前进,只要知道前一个版本的版本号git reset --hard 3628164 //版本号不用写全 , 前几位即可
如果删除了文件,想让版本库里的文件也删掉#第一步git rm -- a.txt#第二步git commit -m ""
想让工作区删除的文件恢复git checkout -- a.txt
撤销新增的文件rm filename / rm dir -rf //单个文件git clean -xdf //所有文件
远程库推送相关关联远程库
git remote add origin git@github.com:mmcLine/firstGit.git
取消关联取消关联git remote remove origin
第一次推送信息git push -u origin master
不是第一次推送信息git push origin master
查看远程库的信息git remote# 更详细的信息git remote -v
推送远程仓库有冲突的处理git push origin dev #发现失败,有冲突git pull #把最新的提交抓下来(git pull如果失败运行 git branch --set-upstream dev origin/dev)# 在合并,如果有冲突就手动解决后在提交
更新远程库的代码git fetch origingit rebase origin
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ipad如何分屏工作(ipad 淘宝分屏模式怎么取消)
- NIKKE胜利女神第八章遗失物怎么全部收集
- k3s部署全过程
- 咸鱼之王盐罐怎么收集
- 附6大工作模式 RabbitMQ原理和架构图解
- 月工作总结与计划怎么写 月工作总结与计划怎么写?
- 小学五年级上册数学教学工作计划范文 数学教学工作计划范文
- 威刚与金士顿,哪家内存质量好,工作稳定
- 恋爱中的人梦见自己在找工作
- 工作心态不好的人句子说说 工作心态不好的句子