本文共 2300 字,大约阅读时间需要 7 分钟。
一、git的创建。
1、 在linux下安装完git。
2、 设置git的user name和email:
$ git config --global user.name "lijin"
$ git config --global user.email “mailforlijin@163.com”
3、 生成ssh密钥:
$ ssh-keygen -t rsa -C “mailforlijin@163.com”
此后,按3个回车,密码为空。
最后得到了两个文件:id_rsa和id_rsa.pub
4、 添加密钥到ssh:
ssh-add id_rsa
此步骤中,我碰到了”Could not open a connection to your authentication agent”报错,解决办法是在shell下执行ssh-agentbash --login –i命令,然后再ssh-add就可以了。
5、 在git上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。
二、git的常用命令。
1、 新创建一个文件夹,用作git根目录。
2、 输入:git init,初始化git
3、 输入:git cloneurl,来获取一个repo。
三、其他git常用命令。
1、git log ##查看版本号
2、git commit –m(-am) ##添加描述
例:git commit-m "commit for test"
-a://提交所有改变
3、git status ##查看状态,比如说有哪些文件经过修改了等。
4、git reset --hard xxxxxxx ##回退到指定版本,其中xxxxxxx是版本的唯一标识码(一般7位就够了),用gitreflog(get log)可以看到。
其他相关命令:
到上一个版本:--hard HEAD^
上上一个版本: --hard HEAD^^
以此类推
5、 git add <filename>
一个完整的添加上传文件例子:
touch readme ##新建文件
git add readme ##添加当前修改的文件到暂存区
git commit -m "add readme file for test" ##增加注释
git remote add origin URL ##第一次时,以后只需push就行了。
git push -u origin master ##上传修改的文件
add相关衍生命令:
git add . ##添加当前目录下的所有文件
git add –u ##自动追踪文件,包括你已经手动删除的,状态为Deleted的文件
5、 git branch //列出所有分支
git branch -a //列出远程的所有分支
git clone -b 分支名地址 放到哪里 //克隆远程分支
git branch new_branch //创建了一个新的分支,branch后面跟新分支的名字
git checkout new_branch //切换到新的版本中去
git checkout -b new_branch //创建并切换到new_branch
git merge [name] ##将名称为[name]的分支与当前分支合并
git branch -d [name] ##删除分支,-d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
6、 推送本地更新到远程:
git push origin master
7、 更新远程更新到本地:
git pull origin master
8、 添加远端repo::
$ git remote add upstream URL
9、git ls-files //看已经被提交的
10、git rm [filename] //删除一个文件
11、git commit-v //当你用-v参数的时候可以看commit的差异
12、忽略一些文件、文件夹不提交:
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
bin
*.o
*.a
13、移除文件:
gitrm a.a 移除文件(从暂存区和工作区中删除)
gitrm --cached a.a 移除文件(只从暂存区中删除)
gitcommit -m "remove" 移除文件(从Git中删除)
四、遇到问题。
1、 push时问题:
[root@rhel6 git]# git push -u origin master
error: The requestedURL returned error: 403 while accessinghttps://github.com/HangzhouSeason/test-onlyfortest.git/info/refs
解决方法见我的blog:http://blog.csdn.net/season_hangzhou/article/details/23168875
参考文档:
《Git学习教程》:
http://fsjoy.blog.51cto.com/318484/244826
《Git 常用命令》:
http://hi.baidu.com/sunboy_2050/item/ffab7396672895d11a49dfcc
《Git 常用命令整理》:
http://www.xbc.me/git-commands/