什么是Git
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
下载安装
windows
官网,下载安装包,直接运行之后命令行就可以运行了。
Mac
如果是安装了xcode的话,会自带一个版本的git。
如果想要安装新版本的git,推荐使用Homebrew: mac下的apt-get。
安装brew,它下载的命令是存在放/usr/local/bin中的,所以要想正常工作,还需要在PATH中添加这个路径,在命名行下输入:echo export PATH=’/usr/local/bin:$PATH’ >> ~/.bash_profile。
Linux
Linux下可以使用apt-get install git来安装。
配置文件
一般都在/user下,window对应的目录是C:\Users\username,mac和linux对于的就是用户主目录/Users/username。配置文件名称为.gitconfig。
通常我们使用git的时候最先会去配置username和email:
git config --global user.name "USERNAME"
git config --global user.email "XXX@example.com"
一般而言,使用
git add .
git commit -m "xxxx"
git push
方式提交
查看当前remote
git remote -v。
更新remote
git remote set-url origin https://git.oschina.net/username/YourRepo
Git常用命令
基础命令
初始化git仓库
git init
说明:在指定的路径初始化git仓库
添加文件到git仓库
git add <文件名>
说明:添加修改的文件到暂存区
git commit -m "注释语句"
说明:提交暂存区的修改到当前分支
查看工作区状态
git status
对比文件的修改信息
git diff <文件名>
回退到历史版本
git reset --hard <提交ID>
查看提交历史
git log
查看历史命令
git reflog
丢弃工作区的修改(实际上是用版本库里的版本替换工作区版本)
git checkout -- 文件名
丢弃暂存区的修改
git reset head 文件名
删除文件
rm 文件名
从版本库中删除文件
git rm 文件名
git commit -m "注释语句"
创建ssh公钥
ssh-keygen -t rsa -C "自己的邮箱地址"
关联远程库
git remote add origin 仓库地址
推送分支内容到远程库
git push -u origin 分支名称
由于远程库是空的,第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。此后,每次本地提交后,可以使用命令git push origin master推送最新修改到远程库
克隆远程库到本地库
git clone 远程库地址 本地库地址
关于分支
查看分支
git branch
创建分支
git branch 分支名称
切换分支
git checkout 分支名称
创建并切换分支
git checkout -b 分支名称
合并某分支到当前分支
git merge 分支名称
Fast forward模式合并,看不出曾经做过合并
git merge --no-ff -m "合并信息注释" 分支名称
禁用Fast forward模式的合并方法,可以看出曾经做过合并
删除已经合并过的分支
git branch -d 分支名称
删除还未合并的分支
git branch -D 分支名称
我们在使用git pull命令的时候,可以使用–rebase参数,即git pull --rebase,这里表示把你的本地当前分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把本地当前分支更新 为最新的"origin"分支,最后把保存的这些补丁应用到本地当前分支上。
关于储藏
储藏现场
git stash
查看储藏的现场
git stash list
恢复储藏的现象
git stash apply
删除储藏的现场
git stash drop
恢复并删除储藏的现场
git stash pop
关于标签
- 命令 git tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;
- 命令 git tag -a -m “blablabla…” 可以指定标签信息;
- 命令 git tag 可以查看所有标签。
- 命令 git push origin 可以推送一个本地标签;
- 命令 git push origin --tags 可以推送全部未推送过的本地标签;
- 命令 git tag -d 可以删除一个本地标签;
- 命令 git push origin :refs/tags/ 可以删除一个远程标签。
多人协作工作模式
- 首先,可以试图用git push origin 推送自己的修改;
- 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
- 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功。
Git拓展阅读
- Git教程-比较适合新手
- Git 完整命令手册地址
- Git 菜鸟教程
- 形象直观的图形化练习网站
- 答题的形式学习git
- codeschool教程
- 15分钟上手Git
- GitHub秘籍
- Git交互式沙盒—推荐指数:☆☆☆
Tip:掌握GIT的基本使用方法是比较简单的,大家在刚开始学习的时候,可以借助一些工具手段来达到学习的目的。
学习步骤:
- 首先对GIT要有个大体的认识;
- 然后学习GIT的安装配置;
- 使用基本的GIT命令,明白每条命令的作用以及含义;
- 结合相关的远程仓库产品来对代码进行版本控制;
代码库
常回来看看
>>>天黑不熄灯<<<
文章内容来自作者收集整理,向原作者致以最高敬意,错误之处欢迎大家指出,谢谢!