0 如何获取Git仓库?html
方法1:在现有项目或目录下导入全部文件到Git中git
方法2 :从一个服务器克隆一个现有的Git仓库:git clone [url]正则表达式
说明:服务器
1 Git克隆的是该Git仓库服务器上的几乎全部数据。post
2 Git支持多种协议:https://,git://,SSH传输协议fetch
1 如何配置并初始化一个仓库(repository)、 开始或中止跟踪(track)文件、暂存(stage)或提交(commit)更改?url
初始化一个仓库:git init 该命令建立一个名为.git的子目录,这个子目录含有初始化的Git仓库中全部的必须文件,这些文件是Git仓库的骨干。spa
跟踪文件:git add 该命令实现对指定文件的跟踪orm
提交文件:git commit 该命令实现对指定文件的提交htm
说明:
1 工做目录下的每个文件的两种状态:已跟踪或未跟踪
2 使用Git时文件的生命周期:???
3 文件同时出如今暂存区和非暂存区?
由于Git暂存了运行git add命令时的版本,若是提交,仓库中保存的是最后一次运行git add命令时的那个版本,而不是运行git commit命令时,在工做目录中的当前版本。
运行了git add以后又作了修改,须要从新运行git add把最新版本从新暂存起来。
4 每次准备提交以前,先用git status看下,是否是都已暂存起来了(git add),而后再运行提交命令git commit。
5 跳过使用暂存区域 git commit -am 'xxxx'
2 如何配置Git来忽略指定的文件和文件模式?
建立一个名为.gitignore的文件,列出要忽略的文件模式。
.gitignore文件的格式规范:
1 全部空行或者以#开头的行
2 glob模式匹配(正则表达式)
3 匹配模式以/开头或者结尾
4 在模式前加上!,而后取反~
3 如何迅速而简单地撤销错误操做?
git reset HEAD <file> 取消暂存的文件
git checkout -- <file> 撤销对文件的修改(即还原成上次提交时的样子,实质:它拷贝了另外一个文件来覆盖它)
注意:在Git中任何已提交的东西几乎老是能够恢复的。任何未提交的东西丢失后极可能找不到了。
4 如何浏览项目的历史版本以及不一样提交(commits)间的差别?
git log:浏览项目的提交历史。
git log -p -n --stat --pretty=format:"xxxx" --graph
git diff:查看当前作的哪些更新尚未暂存;查看有哪些更新已经暂存起来准备好了下次提交。
git diff 比较的是工做目录中当前文件和暂存区域快照之间的差别,也就是修改以后尚未暂存起来的变化内容。经过文件补丁的格式显示具体哪些行为发生了改变。
git diff --staged 查看已暂存的将要添加到下次提交里的内容。
5 如何向你的远程仓库推送(push)以及从你的远程仓库拉取(pull)文件
git remote 列出你指定的每个远程服务器的简写。若是你已经克隆了本身的仓库,那么至少应该能看到origin,这是Git给你克隆的仓库服务器的默认名字。
git remote -v 显示须要读写远程仓库使用的Git保存的简写与其对应的URL。
git remote add <shortname> <url> 添加一个新的远程Git仓库,同时指定一个你能够轻松指引用的简写。
git fetch [remote-name] 访问远程仓库,从中拉取全部你尚未的数据。执行完成后,你将会拥有那个远程仓库中全部分支的引用,能够随时合并或查看。可是它并不会自动合并或修改你当前的工做。当准备好时你必须手动将其合并入你的工做。
git pull 一般会从最初克隆的服务器上抓取数据并自动尝试合并到当前所在的分支。
git clone 自动设置本地master分支跟踪克隆的远程仓库的master分支。
git push [remote-name] [branch-name] 好比,git push origin master 将master分支推送到origin服务器(必须先将他们的工做拉取下来并将其合并进你的工做后才能推送。)
git remote show [remote-name] 查看某一个远程仓库的更多信息
git remote rename [old-name] [new-name] 把远程仓库重命名
git remote rm [name] 移除远程仓库
6 Git的本地操做
建立或者克隆一个仓库、作更改、暂存并提交这些更改、浏览你的仓库从建立到如今的全部更改的历史
参考资料: