git入门

git的安装

1.直接从终端运行命令(Ubuntu)进行安装,版本可能不是最新的

sudo apt-get install git
2.在官网下载源代码编译安装,参考目录下的INSTALL文件, 下载地址
make prefix=/usr/local all
sudo make prefix=/usr/local install
3.从git版本库克隆安装
git clone git://git.kernel.org/pub/scm/git/git.git
cd git
git fetch #更新
git clean -fdx
git reset --hard #清理工作
git tag #显示一个版本号,比如v1.8.4
git checkout v1.8.4
make prefix=/usr/local all
sudo make prefix=/usr/local install


git简介

git是一个版本控制系统,git的工作目录由工作区、暂存区(stage)、版本库三部分构成,工作区就是存放代码的根目录,暂存区和版本库都是隐藏在.git目录中的数据文件中,用相关命令查看其属性。

git配置

git config --global user.name "test"
git config --global user.email test@gmail.com
git config --global color.ui true

git基本操作

git init--工作目录的初始化,创建.git文件夹等

mkdir workspace
cd workspace
git init
或者
git init workspace
cd workspace

git add--将工作目录中的改动添加到暂存区中,可以git help add 查看详细帮助

git add .  把本地所作的更改添加到暂存区中
git add -u 只有被追踪的本地文件所作的更改添加到暂存区中,当删除/移动文件时用这条命令比较合适
git add -A 把本地文件所有的更改添加到暂存区中,无论文件是否被追踪,适用于添加/删除/移动文件
git add -f 强制添加被忽略的文件

git commit--将暂存区中的更改提交到版本库中,git commit之前应该git add

git commit -m "Fisrt commit, git init."
git commit -a -m "Second commit without git add." 加上-a选项,提交之前不必再执行git add


git 查看操作

git status-- 查看工作区的状态

git status -s #文件名之前会有M/A等缩写,如果M在第一列,代表版本库与暂存区文件对比有改变,M在第二列时,代表暂存区与工作区有改变

git log--查看提交记录

git log --oneline #以简单模式查看提交记录

git diff--查看工作区/暂存区/版本库之间的差别

git diff #查看暂存区与工作区之间的差别
git diff --cached #查看暂存区与版本库之间的差别

git ls-file--查看暂存区文件

git ls-files -v #查看暂存区文件
git ls-files --with-tree=HEAD^ #查看最近一次提交到版本库中的文件

git cat-file -p--查看文件内容,以及恢复个别文件

git cat-file -p HEAD^:file.txt #查看版本库中某个文件的内容
git cat-file -p HEAD^:file.txt > file.txt #从版本库中恢复某个被误删除的文件


git修改操作

git mv--移动或者重命名一个文件/目录/符号链接

git rm--从工作区和暂存区删除一个文件

git rm #同时删除工作区和暂存区的文件,rm只是删除工作区中的文件(没有真正的删除,以后提交到版本库这个文件还是存在)

.gitignore文件--忽略文件规则,git add时不会添加到暂存区(.gitignore可以放置在任何文件夹下,作用范围是所处目录以及子目录)

*~  #忽略vim备份文件
*.swp #忽略vim缓存文件
*.o #忽略编译文件


git保存/恢复操作

git checkout--检出分支到工作区(默认对暂存区进行操作)

git checkout #汇总显示工作区暂存区与HEAD的差异
git checkout --filename #用暂存区中过的filename覆盖工作区中的filename
git checkout . #在工作区中取消相对于暂存区中的所有更改

git reset--重置当前HEAD到指定的状态(默认对HEAD进行操作)

git reset [HEAD] #用HEAD指向的目录树重置暂存区,工作区不受影响,相当于撤销git add所作的更改
git reset --filename #git add filename 的反向操作
git reset --soft HEAD^ #暂存区和工作区不变,引用向前回退一次,以便git commit 从新提交
git reset HEAD^ #工作区不变,暂存区和引用回退到上一次提交之前
git reset --hard HEAD^ #引用回退一次,暂存区和工作区回退到上一次提交之前

git stash--保存工作区中的进度

git stash list--显示保存的进度

git stash pop--恢复保存的进度

git stash apply --可以多次恢复保存的进度

git tag--创建里程碑


总结:

git init--初始化

git add--把工作区的更改添加到暂存区

git commit--把暂存区的更改提交到版本库

git reset--操作HEAD,影响(重置)暂存区

git checkout--操作暂存区,影响(重置)工作区

git status--查看工作区状态

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值