Git使用及命令
Git和SVN的对比:
1)Git是分布式的,SVN是集中式;
2)Git每个历史版本存储完整的文件,SVN存储文件的差异;
3)Git可离线完成大部分操作,SVN则必须与中央服务器进行网络交互;
4)Git有着优雅的分支和合并功能;
5)Git有着更强的撤销修改和修改版本历史的能力;
6)Git速度更快,效率更好;
Git安装:
CentOS6.5环境:yum install git
下载源码进行编译再安装:自己查阅网络资料
which -a git 查看git的安装位置
git version 查看git的版本
建议大家先在GitHub上面注册一个账号
如何学习Git的命令:git help
添加user.name和user.email
git config --global user.name fyuan925
git config --global user.email fyuan925@gmail.com
得到user.name/user.email
git config user.name
git config user.email
添加一个新的user.name
git config --global --add user.name kgc
得到属性的值
git config user.name
git config --get user.name
得到全局所有属性的值
git config --list --global
删除一个属性,并且是指定属性名进行删除
git config --global --unset user.name kgc
git config --list --global
当只有一个属性值的时候,我们可以在删除时不指定值
git config --global --unset user.name
git config --list --global
git config --global user.name fyuan925
git config --list --global
Git命令的基本使用:
git init 创建仓库
添加一个readme.txt
git status 查看当前版本库的状态
git add filename 使用git add命令告诉git,把该文件添加到仓库
git commit -m 'comment' 使用git commit命令告诉git,把文件提交到仓库
将文件提交到仓库,需要两步:
1) add
2) commit
git add 可以反复添加多个
git diff 查看修改的内容
git log 可以查看所有的提交历史记录
git log filename 仅查看指定文件名的提交历史记录
git log --pretty=oneline filename
d085ee8434392d2cf88b48592f29fbeefb0818f7 commit id(版本号) SHA-1 Hash计算出来一个16进制的值
版本回退:
前提:知道当前版本是哪个, HEAD表示当前版本
回退到上一个版本: HEAD^ 一个^就表是前一个版本, 如果N个前版本可以用HEAD~N
回退:git reset --hard HEAD^
回退之后你后悔了又想回到后退之前的那个版本: git reset --hard xxxxxxxxx
xxxxxxxxx 前面可以通过 git log filename
3commit <== HEAD
2commit
1commit
执行了git reset --hard HEAD^之后
3commit
2commit <== HEAD
1commit
git reset:版本穿梭, 可以使用git log查看提交历史,以便确定回退/穿梭到哪个版本
git reflog:查看命令历史,以便确定要回到未来/过去的哪个版本
什么是修改:新增一行、修改几个字符、删除一行、新增文件、删除文件
Git管理的是修改,而不是文件
撤销修改:
没有提交到暂存区时,其实就在工作区: git checkout -- file
已经提交到暂存区了: 分两步:1)git reset HEAD file 2)git checkout -- file
删除文件
手误删除,如何恢复: git checkout -- file
真删除版本库的文件:
1) git rm file
2) git commit -m 'xxx'
Git远程操作之添加远程库
生成ssh:ssh-keygen -t rsa -C 'kgc@gmail.com'
在GitHub上设置ssh的公钥
与远程库建立连接
git remote add origin git@github.com:fangyuan925/kgc_git.git
git push -u origin master
git push 就是把当前分支(master)推送到远程
-u:第一次推送到master分支时,要设置了,后续就不需要再使用-u了
git push origin master
执行get push时出现错误及解决办法:
当执行命令git push -u origin master时报如下错误
解决办法:git remote set-url origin https://fdd8@github.com/fdd8/kgc_git.git,即在网址中添加GitHub的用户名即可。
再执行命令git push -u origin master时,就不会报错
远程库的两种方式
1)先有本地仓库,后有远程仓库
git remote add origin git@github.com:fangyuan925/kgc_git.git
git push -u origin master
第一次使用-u,后面不再使用
2)先有远程仓库,再clone到本地(最常见的,一般都是先在GitHub上创建仓库,然后开发人员再clone到本地)
git clone xxxxxx
git push -u origin master
第一次使用-u,后面不再使用
Git远程操作之添加远程库具体操作步骤
一、生成ssh,在GitHub上设置公钥
生成ssh:ssh-keygen -t rsa -C 'kgc@gmail.com'
进入ssh目录:cd ssh
将ssh目录下文件id_rsa.pub里的内容拷贝出来
在GitHub上设置ssh的公钥
1).进入GitHub主页,点击右上角settings
2).选择SSH and GPG keys进行公钥设置
3).点击右上角New SSH key新建一个ssh key,Title自定义,将CentOS中生成的公钥拷贝出来,粘贴到Key中,点击Add SSH key添加ssh key
4).输入GitHub的密码进行验证,点击Confirm password
- 在GitHub上创建仓库
1).点击右上角+,选择New repository新建仓库
2).填写仓库名称,点击Create repository创建仓库
三、与远程库建立连接
git remote add origin git@github.com:fangyuan925/kgc_git.git
git push -u origin master
git push 就是把当前分支(master)推送到远程
-u:第一次推送到master分支时,要设置了,后续就不需要再使用-u了
git push origin master
执行get push时出现错误及解决办法:
当执行命令git push -u origin master时报如下错误
解决办法:git remote set-url origin https://fdd8@github.com/fdd8/kgc_git.git,即在网址中添加GitHub的用户名即可。
再执行命令git push -u origin master时,就不会报错
- git 基本命令使用总结
- Git的初次使用 ; Git常用命令查询 ; Git push ; Git pull 2011-12-16 17:32 在介绍安装和简单使用前,先看一下百度百科中的简介吧: ———————————
- 经常使用的Git 命令
- Git 命令参数及用法详解 & Linux编程环境下版本控制 Git使用
- Git原理命令介绍 以及 eclipse下使用egit和git clone
- 【Git笔记】使用技巧:命令自动补全及命令别名的配置方法
- Git命令使用技巧
- git使用命令, 特别:git checkout -b a 与 git branch a区别
- git 命令的使用(三)
- Git的初次使用 ; Git常用命令查询 ; Git push ; Git pull
- Git使用教程(二)-- Git常用命令
- git基本使用命令
- 高效使用git的一些命令
- git config命令使用第二篇——section操作,多个key值操作,使用正则
- git 开发者日常使用的 Git 命令(个人开发者(单独开发),个人开发者(参与开发),集成人员,代码库管理)
- =Git常用命令及使用心得=
- git config命令使用第二篇——section操作,多个key值操作,使用正则
- git 命令的使用(四)
- 你所需要知道的一些git 的使用命令:历史
- git clone命令使用