一.Windows版本
$ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get install git
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
1.创建版本库
在本地创建版本库;版本库又名仓库,英文名repository,可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
$ mkdir learngit $ cd learngit $ pwd
/c/Users/Administrator/learngit
2.通过git init
命令把这个目录变成Git可以管理的仓库
$ git init Initialized empty Git repository in C:/Users/Administrator/learngit/.git/
3.用命令git add
告诉Git,把文件添加到仓库:
$ git add readme.txt
执行上面的命令,没有任何显示,这就对了,Unix的哲学是“没有消息就是好消息”,说明添加成功。
4.用命令git commit
告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file" [master (root-commit) cb926e7] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txt
5.添加远程库
首先,登陆GitHub,然后,在右上角找到“+”按钮,创建一个新的仓库:
在Repository name填入learngitWindows
,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:
目前,在GitHub上的这个learngit
仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
6.在本地的learngit
仓库下运行命令:
$ git remote add origin git@github.com:AntonioSu/learngitWindows.git
请千万注意,把上面的AntonioSu
替换成你自己的GitHub账户名。
添加后,远程库的名字就是origin
,这是Git默认的叫法,也可以改成别的,但是origin
这个名字一看就知道是远程库。
7.就可以把本地库的所有内容推送到远程库上:
$ git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 217 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:AntonioSu/learngitWindows.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
把本地库的内容推送到远程,用
由于远程库是空的,我们第一次推送git push
命令,实际上是把当前分支master
推送到远程。master
分支时,加上了-u
参数,Git不但会把本地的master
分支内容推送的远程新的master
分支,还会把本地的master
分支和远程的master
分支关联起来,在以后的推送或者拉取时就可以简化命令。
从现在起,只要本地作了提交,就可以通过命令:
$ git push origin master
成功上传文件
8.把远程的文件clone到本地
$ git clone git@github.com:AntonioSu/learngitWindows.git Cloning into 'learngitWindows'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 Receiving objects: 100% (3/3), done. Checking connectivity... done.
8.以后仅仅需要把文件拷贝到本地版本库当中,而后通过以下命令上传
9.文件最新问题
如果是远程库文件最新,那么无法git push,必须先git pull;如果是本地文件最新,那么git pull本地文件无法更改。