一. git安装
sudo apt-get install git
sudo apt-get install git-doc git-svn git-emain git-gui gitk
如果是第一次使用git,需要添加以下信息:
git config --global user.name "kismit" 用户名
git config --global user.email "youremail@qq.com" 邮箱
二. 使用
本地使用
1.创建本地仓库
mkdir GitHome
git init
在目录下生成隐藏目录,注意所有信息都不能够更改!
2.提交文件
如提交本地的readme.txt文件
git add readme.txt git管理readme.txt即将readme.txt加入版本库中
git commit -m "add readme.txt" 提交并注释“add readme.txt”信息
跳过暂存区,直接存储
git commit -a -m "git commit"
3.查看修改状态
git status
如果版本库中没有任何文件有修改,则会提示没有需要提交的文件信息
如果有任意文件有改变,则会提示出改变的文件
4.查看文件更改情况
git diff readme.txt
系统会将原先版本库中管理的文件和修改过的文件进行对比,将差异部分比较显示出来
查看自上次提交后所做的所有改变
git diff
查看自某时间段所有的改变
git diff "@{yesterday}"
5.查看修改信息
git log
6.版本回退
git reset --hard HEAD^ 回退到前一个版本,会删除比当前版本新的所有版本
git checkout 82f5
回退到82f5版本,但是会保存所有版本,这时候如果使用git log查看版本信息,看到的结果和git reset的是一样的,因为此时我们已经进入另一个编辑环境中,但是可以使用命令git checkout master切换到主环境,使用命令git log可以查看所有版本,当前版本也是最新的。
7.撤销
git revert 1b6d
8.下载文件
git clone git@github.com:kismit/GitTest.git
9. 打补丁
方式1:添加前缀的
git diff > my.patch 这样创建的补丁会自动增加一个前缀a/ b/
patch -p1 < my.patch 应用补丁需要添加包的跟目录,选项p1
方式2:不加前缀的
git diff --no-prefix > my.patch
patch -p0 < my.path
恢复打补丁之前的文件
patch -R -p1 < my.path
10. 分支
查看分支
git branch 默认只有master分支
创建分支
git branch new-branch
删除分支
git branch -D new-branch
切换分支
git checkout new-branch
可以通过git branch查看当前所有分支,活跃分支为绿色带*
branch 和 master 环境是相互独立的,也就是说在两个环境下对同一个文件进行编辑,文件的内容在不同环境下也会不同,下面是一个好玩的例子:
git branch 查看一下当前的分支
假设当前分支是master
echo “hello”>> readme.txt
git add readme.txt
git commit -m "add 'hello' to readme in master env"
git checkout new-branch 切换到另一个分支
echo “world”>> readme.txt
git add readme.txt
git commit -m "add 'world' to readme.txt in branch mod"
在branch下查看readme.txt的内容,切换到master下查看readme.txt
的内容,发现是不一样的,git log查看提交历史也不一样
三. 关联远程服务器
7.设置git的use rname和email
$ git config --global user.name "Kismit" $ git config --global user.email "1985959027@qq.com"
8.生成秘钥
$ ssh-keygen -t rsa -C "1985959027@qq.com"
得到id_rsa 和 id_rsa.pub
9.在网页git服务器添加ssh key
建议名字可以和本地的一致
将id_rsa.pub 的所有内容贴到key内容中
10.测试
$ ssh -T git@github.com
你将会看到:
The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?
选择 yes
Hi ! You've successfully authenticated, but GitHub does not provide shell access.
如果看到Hi后面是你的用户名,就说明成功了。
如果
则需要手动添加
$ ssh-add ~/id_rsa
再次尝试连接,应该能够连接上
11.关联本地库和版本库
复制远程代码库的地址git@github.com:kismit/GitTest.git
关联git remote add origin git@github.com:kismit/GitTest.git origin是远程代码库的名字,名字随意,可以自己定义