git使用教程
本文参照网上诸多教程,加上自己的理解构成。
目录
git安装
- 这里使用的是centos6.5,原版git 为1.7版本,这里博主更新至2.10.0版本,具体操作如下
下载编译工具
yum groupinstall “Development Tools”
下载依赖包
yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
下载git最新版本的源代码
wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.xz
解压
xz -d git-latest.tar.xz
tar -xvf git-latest.tar
编译安装
make -jn && make -jn install
其中make -j n中的n为指定线程数,对于多核处理器这样可以加快编译安装的速度
开始各种调bug
参考http://my.oschina.net/moooofly/blog/228875和http://my.oschina.net/u/132508/blog/288135
然后重新编译安装
make -jn && make -jn install
其中make -j n中的n为指定线程数,对于多核处理器这样可以加快编译安装的速度
添加link
将原本/usr/bin/目录下的git删除
rm -rf /usr/bin/git
然后设置link,去解压目录下
ln -s 你的git解压目录/git /usr/bin/
检查版本号
git --version
git使用
生成ssh key
ssh-keygen -t rsa -C "your_email@youremail.com"
在github上面添加ssh key
进入自己的github主页,点击右上角Settings,选择左边的SSH and GPG keys,添加ssh key。
linux 里面id_rsa.pub中的信息
测试ssh key是否成功
ssh -T git@github.com
如果出现You’ve successfully authenticated, but GitHub does not provide java access 。这就表示已成功连上github。
配置git的配置文件
git config --global user.name "your name" //配置用户名
git config --global user.email "your email" //配置email
创建一个目录
mkdir test
把当前目录变为git可用仓库
cd test
git init
在目录里面添加一个文件
vim aaa.txt
随便往里面写点数据
添加一个文件到本地仓库
git add aaa.txt
或者
git add . //自动判断添加哪些文件
提交到本地的仓库
git commit -m "说明这次的提交"
将本地仓库与远程仓库关联
git remote add origin https://github.com/yourname/yourRepository.git
链接为你的github上面仓库链接,没有的话,可以自己创建一个,具体可以参考http://jingyan.baidu.com/article/ca00d56c5f0483e99eebcf8b.html
将本地库推送到远程
git push -u origin master
如果远程库是空的,第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
提示输入用户名,输入密码,按提示操作输入即可
如果出现类似错误 ! [rejected] master -> master (fetch first)
出现错误的主要原因是github中的README.md文件不在本地代码目录中,可以通过如下命令进行代码合并【注:pull=fetch+merge】
git pull --rebase origin master
然后在执行
git push -u origin master
按提示输入用户名、密码即可成功。
也可以执行命令
git clone yourRepositoryURL //克隆项目到本地,然后进行修改,然后再进行提交(add、commit、push)
总结
之前看过很多博客,按上面做的,踩了很多坑,因此在此总结了一下,既是给自己一个总结也是给别人一个参考,当然上面这些对于团队合作是远远不够的,后续还会继续更新,第一次正式写博客,不足之处多多指教。