Git 教程

来源:互联网 发布:sql误修改数据恢复 编辑:程序博客网 时间:2024/05/20 04:49

      Git是用于代码管理的工具,通过仓库(repository)来保存版本管理所需要的信息。Git在每台开发机上都会有一个仓库,代码可以先提交到本地仓库,然后再从本地仓库推送到远端仓库。

一般工作流程如下:    

·        克隆 Git资源作为工作目录。

·        在克隆的资源上添加或修改文件。

·        如果其他人修改了,你可以更新资源。

·        在提交前查看修改。

·        提交修改。

·        在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。



安装流程:

Windows上安装Git

http://msysgit.github.io下载Git安装文件。按照默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,打开Git Bash命令行窗口,说明安装成功。以后所有的Git命令均在这里运行。

MacOS上安装Git


Mac上的安装方法比较多,可以下载dmg安装文件安装。也可以使用homebrew安装。最简单也是推荐的方式是安装 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。 如果没有安装过命令行开发者工具,将会提示你安装。

Linux上安装Git

对于Ubuntu或者Debian,运行以下命令就可以直接安装,老版本的Ubuntu需要运行sudo apt-get install git-core

$ sudo apt-get install git
对于CentOS和Fedora使用以下命令
$ sudo yum install git

Git配置

打开命令行工具(Windows打开Git Bash),运行以下命令:


$ git config --global user.name  "your name"  
$ git config --global user.email "your email"   
$ git config --global push.default simple        # 每次push仅push当前分支
$ git config --global core.autocrlf false        # 忽略window/unix换行符
$ git config --global gui.encoding utf-8         # 避免乱码
$ git config --global core.quotepath off         # 避免git status显示的中文文件名乱码

Windows上还需配置:


$ git config --global core.ignorecase false


以上配置适用于全部的Repository,如果某个Repository需要其他的用户名和邮箱,则cd到相应Repository目录执行以下命令:


git config user.name "your name"
git config user.email "your email"

设置SSH

打开命令行(Windows用户打开Git bash)键入以下命令:


$ ssh-keygen -t rsa -C "your email"

然后一路回车,不需要输入任何密码。在当前用户目录的.ssh文件夹下(~/.ssh/id_rsa.pub)会生成id_rsa.pub文件,其内容就是ssh key pair
对于Linux还需执行以下命令将ssh key告诉系统:


$ ssh-add ~/.ssh/id_rsa


将生成的ssh key添加到github账户创建和配置)或公司私有的仓库SSH秘钥中,git@osc或者任何提供git服务的网站,以后使用git提交到远端服务器就不需要密码了。

从命令行新建仓库:

以公司私有仓库为例,首先进入项目根目录下:


touch README.md
git init 初始化
git add README.md
git commit -m "first commit"
git remote add origingit@git.****
git push -u origin master
git status  (查看修改了什么文件)
git add 文件/ (添加)
git commit –a –m “注释”  提交
git push  推送


注意:

忽略一些文件、文件夹不提交

在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如

target

bin

*.db或.* 等等