笔记来源
该笔记来源于git使用网站,如有侵权请联系:sykent.lao@gmail.com
起步
版本管理系统
git: 分布式版本管理系统
svbversion(svn): 集中式版本管理系统(VCS)
git 三种状态
三个工作区域
Git 仓库、工作目录以及暂存区域。
初次运行 Git 前的配置与初始命令
用户信息1
2$ git config --global user.name "Sykent Lao"
$ git config --global user.email sykent.lao@gmail.com
检查配置信息1
2
3
4
5$ git config --list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
...
查看某一项1
2$ git config user.name
John Doe
获取帮助1
$ git help
基础
获取git仓库
方法
方法一: 现有项目进行项目管理1
2
$ git init
该命令在项目种产生.git 子目录,只是初始化,并没有进行文件跟踪
文件进行跟踪命令1
2$ git add .
$ git commit -m 'initial project version'
方法二: 克隆现有的仓库,命令式clone 区别于svn checkout1
$ git clone https://github.com/sykent/sykent.github.io.git
重命名1
$ git clone https://github.com/sykent/sykent.github.io.git sykent
传输协议
支持https:// 超文本传输协议
支持SSH 安全外壳传输协议
支持使用 git://协议
Git文件的生命周期
基本命令
跟踪新文件或暂存已修改文件
git add xxx命令理解:添加内容到下一次提交中,也就是说将未跟踪文件标志为跟踪文件或者将修改的文件更新到暂存区域1
$ git add xxx
查看文件状态
git status 可查看文件是否为跟踪文件,是否是暂存区文件1
$ git status
简览1
$ git status -s
忽略文件
在项目下创建一个名为 .gitignore 的文件
提交更新
属于暂存区的文件可以提交到仓库中,所以提交前执行下git status 命令查看文件状态1
git commit -m "提交注释"
跳过使用暂存区域
添加-a选项,可以将已经跟踪的文件提交,从而跳过git add 这命令件文件变为已暂存文件才能提交1
git commit -a -m "提交注释"
移除文件
必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除)1
$ git rm xxx
移动文件
该命令像个改名的命令1
$ git mv file_from file_to
其实是执行了三条命令1
2
3$ mv README.md README
$ git rm README.md
$ git add README
查看提交历史
-n 仅显示最近的 n 条提交,–author仅显示指定作者相关的提交。1
$ git log -2
撤消操作
远程仓库的使用
查看配置的远程仓库服务器
origin - 这是 Git 给你克隆的仓库服务器的默认名字1
2$ git remote
origin
选项-v,查看需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。
1
2
3$ git remote -v
origin https://github.com/schacon/ticgit (fetch)
origin https://github.com/schacon/ticgit (push)
推送到远程仓库1
$ git push origin master
关联远程repository1
git remote add origin git@github.com:git_username/repository_name.git
取消本地目录下关联的远程库1
git remote remove origin
克隆一个仓库到另外一个仓库
从原地址克隆一份裸版本库
1
git clone --bare git://github.com/username/project.git
以镜像推送的方式上传代码到新库
1
2cd project.git
git push --mirror git@gitcafe.com/username/newproject.git删除本地代码
1
2cd ..
rm -rf project.git