Git 使用相关

最近有使用Git, 记录之。

首先,官方教程在此,中文的。

Git - Book

或者看这个

Git教程 - 廖雪峰的官方网站

一、Git安装

windows 

到 Redirecting Git for Windows' homepage...下载安装

mac 

系统一般都已经集成了,(我是OS X EI Capitan 10.11)

可以使用 git --version 查看

$ git --version

二、初次运行 Git 配置

主要是配置用户信息(用户名称和电子邮箱)

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

这两条配置在每次Git提交时引用,记录是谁提交了更新

查看已有配置信息

$ git config --list

// 查阅某个环境变量设定,只要把特定名字加在后面
$ git config user.name

删除配置信息

// 删除某个配置
git config --global --unset user.name
git config --unset user.name
删除多个
git config --unset-all user.name

三、创建本地库

$ git init

在要创建git库的地方执行该命令,会在当前目录下创建git仓库

可以使用 ls 命令查看,可以看到目录下多了一个 .git 文件件(默认隐藏)

$ ls -ah

接着,创建一个 Readme.txt 文件,可以用来描述这个库。

一般在 .git 所在的目录下创建,

可以使用 vi 命令创建

$ vi Readme.txt


然后,将 Readme.txt 添加到 git 仓库中

$ git add Readme.txt

最后,提交文件到仓库中

$ git commit -m "提交时写的记录"


ok, 这样就搞定了。

四、远程仓库

远程仓库是团队协作或者移动办公的最佳选择。

如果不是自己搭建的服务器,可使用第三方的Git服务。

目前名气最大的首推 GitHub ,但是 GitHub 只能免费创建开源项目,私有项目是收费的。

如果是公司使用,可以使用  Bitbucket ,可以免费创建私有项目,但是限制团队人数为5个。

添加远程库

使用命令

$ git remote add [shortname] [url]:
$ git remote add pb git://github.com/paulboone/ticgit.git

查看当前远程库

$ git remote
// 可以加上 -v 选项( --verbose 的简写,取首字母),显示对应的克隆地址:
$ git remote -v
origin  git://github.com/schacon/ticgit.git (fetch)
origin  git://github.com/schacon/ticgit.git (push)


重命名远程库

$ git remote rename 
// 比如把 aa 改成 bb
$ git remote rename aa bb


删除远程库

$ git remote rm
$ git remote rm origin


推送数据到远程库

git push [remote-name] [branch-name]
// 把本地的 master 分支推送到 origin 服务器上
$ git push origin master

从远程仓库更新数据到本地

$ git pull origin master

pull 命令可以下载最新并同时合并到本地分支 

pull 命令很方便,但坏也坏在太方便,隐藏了下载和合并两个步骤,所以网上有建议不要使用pull

// 可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息
git remote show origin

// 删除了那些远程仓库不存在的分支
git remote prune origin

// 查看当前分支信息 
git branch -vv

五、暂存

开发中遇到问题需要切换分支处理,那么可以用stash暂存当前未提交的内容

// 暂存(压栈)
git stash

// 查询暂存的列表
git stash list

// 清除全部暂存数据
git stash clear

// 这是删除第一个
git stash drop stash@{0}  

// 取回最近一次暂存的内容,同时删除栈中对应的stash
git stash pop

注意:切换分支的时候,最好走stash暂存数据,如果是走commit提交,需要推送到远程仓库再切换分支。

如果A分支提交了代码,没有push远程,然后切换到B分支,操作后一番后,后面切回A分支,这时候A分支刚才提交的代码会丢失,进入游离状态。

// 使用 reflog 查看commit记录
git reflog

// 回退到对应的提交版本
git reset --hard HEAD@{21}

// 回滚上一次提交
git reset --soft HEAD~1

*、错误问题

1. src refspec master does not match any

推送数据到远程库时出现,目录中没有文件,空目录不能推送。

解决:添加数据到本地库中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值