Git 是一个开源的分布式版本控制系统
在学习Git需要清楚的几个术语
-Workspace:工作区
-Index/Stage:暂存区,也叫索引
-Repository:仓库区(或本地仓库),也存储库
-Remote:远程仓库
工作区: 通过git init 创建的代码库的所有文件但是不包括.git文件(版本库)
暂存区: 通过git add .//Xxx/Xxxx 添加的修改,都是进入到暂存区了,肉眼不可见 通过 git status 可以看到修改的状态。
Git安装设置
在Windows上安装Git
1、安装包下载地址:https://gitforwindows.org/
2、安装完成后,在开始菜单里面找到 “Git –> Git Bash”
3、会弹出一个类似的命令窗口的东西,在命令行输入
$ git config --global user.name ""
$ git config --global user.email ""
--global 参数 表示你这台机器上所有的Git仓库都会使用这个配置
如果在项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
要检查已有的配置信息,可以使用 git config --list 命令:
$ git config --list
创建本地版本库
1、选择一个合适的地方,创建一个空目录:
$ cd c:\work //进入项目文件夹
$ mkdir learngit //创建空目录
$ cd learngit //进入项目录
$ pwd //显示当前目录
2、通过git init命令把这个目录变成Git可以管理的仓库:
$ git init
如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见。
使用我们指定的newrepo目录作为Git仓库。
$ git init newrepo
3、编写一个readme.txt文件,内容如下:
Git is a version control system.
Git is free software.
4、把文件添加到仓库:
$ git add readme.txt
5、提交文件设置修改说明
git commit -m '初始化项目版本'
6、运行git status命令看看结果
git status
Git 远程仓库(Github)
1、注册github
2、使用以下命令生成 SSH Key:
$ ssh-keygen -t rsa -C "[email protected]"
一路回车就行。成功的话会在 ~/ 下生成 .ssh 文件夹,进去,打开 id_rsa.pub,复制里面的 key。
3、回到 github 上,进入 Account => Settings(账户配置)。
左边选择SSH Keys,Add SSH Key
4、为了验证是否成功,在git bash下输入:
$ ssh -T [email protected]
如果是第一次的会提示是否continue,输入yes就会看到:You've successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
5、把本地仓库的内容推送到GitHub仓库。
$ mkdir runoob-git-test // 创建测试目录
$ cd runoob-git-test/ //进入测试目录
$ echo "git_cs" >> README.md //创建 README.md 文件并写入内容
$ ls // 查看目录下的文件
$ git init // 初始化
$ git add README.md // 添加文件
$ git commit -m "添加 README.md 文件" //提交并备注信息
6、提交到 Github
$ git remote add origin [email protected]:name/runoob-git-test.git
$ git push -u origin master
7、接下来我们返回 Github 创建的仓库,就可以看到文件已上传到 Github上
查看当前的远程库
要查看当前配置有哪些远程仓库,可以用命令:
$ git remote
$ git remote -v //-v 参数,可以看到每个别名的实际链接地址。
8、当远程文件修改后更新到本地
$ git fetch origin //是从远程获取最新版本到本地
$ git merge origin/master //合并分支
查看 README.md 文件内容:
$ cat README.md
9、提取远程仓库
Git 有两个命令用来提取远程仓库的更新。
1)从远程仓库下载新分支与数据:
$ git fetch
该命令执行完后需要执行git merge 远程分支到你所在的分支。
2)从远端仓库提取数据并尝试合并到当前分支:
$ git merge
假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行 git fetch [alias] 告诉 Git 去获取它有你没有的数据
然后你可以执行 git merge [alias]/[branch] 以将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你的当前分支。
10、推送到远程仓库
推送你的新分支与数据到某个远端仓库命令:
$ git push [alias] [branch]
$ git push origin master //推送到 Github
以上命令将你的 [branch] 分支推送成为 [alias] 远程仓库上的 [branch] 分支
11、删除/添加远程仓库
删除远程仓库你可以使用命令:
$ git remote rm [别名]
$ git remote -v //以看到每个别名的实际链接地址。
添加仓库 origin2
$ git remote add origin2 [email protected]:name/runoob-git-test.git
删除仓库 origin2
$ git remote rm origin2
$ git remote -v