git的使用
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
git的全局配置
使用git时应该先配置用户名和邮箱名,在git提交时根据用户名和邮箱进行保存。
全局配置如下:
# 配置用户名
git config --global user.name "yang tianrui"
# 配置邮箱
git config --global user.email "yangtianrui95@gmail.com"
全局配置文件保存在~/.gitconfig文件中,编辑该文件即可改变配置内容
vim ~/.gitconfig
[user]
email = yangtianrui95@gmail.com
name = yangtianrui95
[core]
autocrlf = input
~
~
~
列出所有的git配置
git config --list
user.email=yangtianrui95@gmail.com
user.name=yangtianrui95
core.autocrlf=input
git的使用步骤
1.初始化本地git仓库
# 在要作为版本库的文件夹下,初始化版本库
git init
# 把本地仓库和远程仓库关联起来, 如果不执行这个命令的话,每次 push 的时候都需要指定远程服务器的地址
git remote add origin git@github.com:用户名/仓库名.git
2.使用git添加文件到版本库
# 从本地仓库增加文件,结果将会保存到本机的缓存里面
git add
# 从本地文本库中删除文件
git rm
# 提交,把本机缓存中的内容提交到本机的 HEAD 里面
git commit -m "注释"
另外 使用git status 查看所有状态
使用git add -A 提交全部更改
使用git pull origin master从远程服务器获取新的改动
3.配置SSH-KEY ,使用这个SSH-KEY来确定是否具有上传的权限
- 创建本地ssh
ssh-keygen -t rsa -C "你的github的注册邮箱"
#复制 C:\Documents and Settings\Administrator\.ssh\id_rsa.pub 文件中的内容;
#登录 Github --> Account Setting --> SSH-KEY --> Add SSH-KEY --> 粘贴id_rsa.pub中的内容;
- 验证结果
# 出现这个结果证明连接成功
yangtianrui@Ubuntu-Studio:~$ ssh -T git@github.com
Warning: Permanently added the RSA host key for IP address '192.30.253.113' to the list of known hosts.
Hi yangtianrui95! You've successfully authenticated, but GitHub does not provide shell access.
向github push代码的步骤
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:yangtianrui95/gittest.git
git push -u origin master
比较两次添加文件的不同,没有commit
git diff
yangtianrui@Ubuntu-Studio:~/桌面/gittest$ git diff
diff --git a/a.xml b/a.xml
index f91fcb3..475015d 100644
--- a/a.xml
+++ b/a.xml
@@ -1,2 +1,3 @@
xxxxxx
bbbbbb
+iiiiii
查看commit记录
git log
Author: yangtianrui95 <yangtianrui95@gmail.com>
Date: Mon Jul 11 22:33:14 2016 +0800
commit
commit 1fda5ca8831209b72dedbd91fbc1951c1e5836a9
Author: yang tianrui <yangtianrui95@gmail.com>
Date: Mon Jul 11 22:25:36 2016 +0800
Update a.xml
commit ef4abc354e35ef0c22d7dcdab5acded5c827bc7c
Author: yangtianrui95 <yangtianrui95@gmail.com>
Date: Mon Jul 11 22:23:28 2016 +0800
new file
回退到某个版本
使用reset 恢复到某个Hash值代表的版本
git reset --hard 1fda5ca8831209b72dedbd91fbc1951c1e5836a9
HEAD 现在位于 1fda5ca Update a.xml
push到github
yangtianrui@Ubuntu-Studio:~/桌面/gittest$ git push origin master
对象计数中: 3, 完成.
写入对象中: 100% (3/3), 242 bytes | 0 bytes/s, 完成.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:yangtianrui95/gittest.git
0715fe1..819abb9 master -> master