$ git config --global user.name "Firstname Lastname" $ git config --global user.email "your_email@your_email.com"
设置你的用户和邮箱。
$ git init
将一个文件夹纳入git版本控制。
$ git add 文件名
将一个文件放入暂存区(购物车) 。
$ git status //查看git的状态 (辅助)
$ git commit -m "在家里提交" //提交更改到本地git库:
$ git diff //查看你的改动
查看已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached命令:
git diff --cached
$ git remote -v // 查看远程仓库(在线备份)
$ git log //查看历史记录 (辅助)
$ git remote -v //查看远程仓库(在线备份)
$ git push 仓库名 分支名 “网站地址” //在线备份一下
使用命令 git rm 从本地git库中删除文件,并且在当前工作目录中被一并删除:
$ git rm (files) $ git rm -r (directories)
把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中:
$ git rm --cached readme.txt
10. 查看与添加远程库
查看当前远程库:
$ git remote -v
添加远程库:
git remote add 仓库名 远程仓库的地址
$ git rm --cached readme.txt
远程仓库的使用
1. 从远程仓库抓取数据
可以用下面的命令从远程仓库抓取数据到本地:
$ git fetch [remote-name]
此命令会到远程仓库中拉取所有你本地仓库中还没有的数据。运行完成后,你就可以在本地访问该远程仓库中的所有分支,将其中某个分支合并到本地,或者只是取出某个分支,一探究竟。
如果是克隆了一个仓库,此命令会自动将远程仓库归于 origin 名下。所以,git fetch origin
会抓取从你上次克隆以来别人上传到此远程仓库中的所有更新(或是上次 fetch 以来别人提交的更新)。有一点很重要,需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。
如果设置了某个分支用于跟踪某个远端仓库的分支,可以使用 git pull
命令自动抓取数据下来,然后将远端分支自动合并到本地仓库中当前分支。在日常工作中我们经常这么用,既快且好。实际上,默认情况下 git clone
命令本质上就是自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支(假设远程仓库确实有 master 分支)。所以一般我们运行 git pull
,目的都是要从原始克隆的远端仓库中抓取数据后,合并到工作目录中的当前分支。
小结:git fetch只抓取数据,不会合并数据。git pull不仅抓取数据,同时合并数据。
2. 推送数据到远程仓库
项目进行到一个阶段,要同别人分享目前的成果,可以将本地仓库中的数据推送到远程仓库。实现这个任务的命令很简单: git push [remote-name] [branch-name]
。如果要把本地的 master 分支推送到origin
服务器上(再次说明下,克隆操作会自动使用默认的 master 和 origin 名字),可以运行下面的命令:
$ git push origin master // 把本地的 master 分支推送到origin
服务器上
只有在所克隆的服务器上有写权限,或者同一时刻没有其他人在推数据,这条命令才会如期完成任务。如果在你推数据前,已经有其他人推送了若干更新,那你的推送操作就会被驳回。你必须先把他们的更新抓取到本地,合并到自己的项目中,然后才可以再次推送。