git基础入门笔记
1.git的下载和安装(安装在centos上)
下载:http://www.linuxfromscratch.org/blfs/view/svn/general/git.html
安装:http://blog.51cto.com/13505030/2055144
备注:基于centos的安装
[root@Git ~]# cd git-2.7.3
[root@Git ~]# make configure
[root@Git ~]# ./configure --prefix=/usr/git ##配置目录
[root@Git ~]# make profix=/usr/git
[root@Git ~]# make install
添加环境变量 :在/etc/profile文件中添加export PATH=$PATH:路径
然后使用source /etc/profile保存,然后输入git会显示git相应的命令
设置全局的邮箱和名称(不需要设置为全局可以省略global),假如不设置邮箱和名字,git commit的时候会相应的提示你去添加。
git config --global user.email you@example.com
git config --global user.name "Your Name"
2. git的基本使用
git init:仓库的初始化,产生一个.git文件目录,用于跟踪版本管理。(一般情况下不要使用windows默认的记事本,建议使用notepad),默认是.git,可以git init 文件夹/文件名:在相应的文件夹下产生一个名称.git的文件夹,git init --bare 文件夹:产生一个裸仓库
git add 文件名1 文件名2...:添加一个或者多个文件到暂存区,为git commit做准备
git commit –m "信息" : 将暂存区的内容添加到本地仓库版本管理,信息表示备注,-m建议需写。
git status:查看仓库当前的状态
git diff file :比较修改的内容,遵循unix的diff格式(git管理的是修改,而不是文件)
git diff HEAD -- file :比较当前的版本库中的最新的版本与工作区file的区别
git log:查看历史日志,由近到远,由当前版本开始,使用时光机到历史版本后看不到未来的版本
备注:commit 后面的字符表示id,Author 我们设置的作者和邮箱
git reflog:查看所有的版本提交记录,用于版本穿越到过去和未来的参考以及一些其余的信息
get reset --hard 版本: 用于版本的穿越(过去和未来),HEAD^ 表示前一个版本 ,HEAD^^ 表示前两个版本,多个版本可以使用HEAD~n 表示 n表示整数,HEAD表示当前版本,回到未来版本需要使用commitid
文件的删除:先使用rm删除当前相应的文件,然后使用git rm 文件名,然后使用 git commit -m "信息"提交。
git checkout --文件名 :清空当前修改(回到未修改前的版本),有两种情况,一种是没有存放到暂存区,那么回到的版本与版本库的最新版本一致 ,另一种是添加到了暂存区,那么会相应的返回到暂存区的版本。
git reset HEAD file:将暂存区的该文件相应的去除
备注:推送到远程仓库后是不可以更改的,例如版本的撤销
git config --global 变量名 变量值:修改git的全局配置
git config --global alias.别名 被别名的名称 :配置别名
3.gitbisect检查错误
这个命令可以使用二分法查看某个分支从何处开始变坏的,在bug没有引入之前和bug引入之后选取两个提交点, 例如:判断某一个文件中是否有aaa(坏点),可以使用grep “aaa” 文件名,假如是坏点,那么使用 git bisect start ,git bisert bad标记为坏的点,然后假设某个提交点是好的点, 那么使用git bisert good标记好的好的点,那么会自动检出中间的提交点,然后依次继续,当然也可以是用shell脚本实现自动化
4.git的存放区域
工作区:本地文件
暂存区:add后存放的区域
本地版本仓库:git commit后的本地版本仓库
远程仓库:
仓库的建立:
Github的创建:官网 https://github.com/ 创建账户 创建仓库,github的基本使用见github的基础入门笔记。
5.分支与合并
git checkout -b 分支名: -b表示创建并切换分支,相当于git branch 分支名(创建)加git checkout 分支名(切换)
git branch :查看所有的分支
git merge 分支名:将那条分支合并到当前分支上(master表示默认的支路)
分支上的添加和提交同master支路
合并的冲突:产生的原因,修改了同一个位置的内容,解决方法,修改产生冲突的文件后(vim i wq),add添加到暂存区,然后提交
冲突文件如下
git branch –d 分支名 : 删除分支
git log --graph:更加友好的查看相应的历史信息
6.标签
git tag 标签名:在相应的标签上标记标签名
git tag 标签名称 commitid:对历史版本添加标签
git tag -a 标签 -m "说明" commitid :-a表示指定版本号,-m指定说明
git tag:查看所有的标签
git tag -d :标签名
7.linux上git 服务器的搭建
添加ssh公钥,在~/.ssh/authorized_keys里添加客户端的公钥,一行一个,倘若没有相应的文件,可以新建mkdir ~.ssh
touch ~/.ssh/authorized_keys
8.在eclipse中使用
类似如上:add to index 相对linux 的git add ;commit相当于git commit;reset时光穿梭机,remote远程推送和取出,ignore忽略,switch 同相当于git的创建和切换分支等
原文:https://www.cnblogs.com/gg128/p/9191862.html