本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!
Git教程
最近用Git比较多,做出教程一份,供大家参考。
1、 安装Git,并配置环境变量
2、 配置用户名,邮箱
3、 切到工作目录下,下载源码,先执行git init 初始化一个环境,然后
4、 修改并推送到本地,最后推送到远程
5、 其他 ,Git是分布式工具,每个人电脑上都是一个仓库,大家通过局域网互换文件,达到协同办公的目的。
命令:
git reset –hard commitId回滚commitId这次提交
git branch dev 无则生成,有则删除分支dev
git branch 查看本地分支
git remote 查看远程分支 –v查看更详细信息
git checkout dev 切换到dev文件下
git rm build.gradle 本地删除build.gradle文件
git status 查看工作目录的状态,是否有删除或未提交等等
git checkout build.gradle 本地恢复build.gradle文件
git log 查看push提交日志
cat 文件名新建文件
:q 进入Vim命令后退出操作
git checkout dev 切换到dev文件下
git checkout –b dev 无则创建,切换到dev文件下
git merge dev 合并 dev分支修改
git branch -d dev 删除dev分支
git stash 保存现场,从master切分支修复bug
git stash list 保存了哪些现场
git stash apply 恢复 drop删除
git stash pop 恢复并删除
git push origin master/dev 推送本地到远程
feature同分支功能,主要开发新功能使用
使用方法例:
git checkout –b feature-Iot新建feature
git checkout –d feature-Iot 删除feature
git tag 列出所有tag
git tag v1.0 –m “v1.0” 打1.0的tag
git push origin v1.0 推送分支到远程
git tag –d v1.0 本地删除tag
git push origin :refs/tags/v1.0
-d 删除
-m 加标签
6、 本地项目首次加入Git管理---慎用!!!
Git push –u originmaster
7、 修改远程项目为本地项目---慎用!!!
将目标项目拷贝到当前文件夹
Git init
Git pull
删除本地的远程项目
添加并提交到远程
完成本次操作。
问题1:git clone/pull时,出现Permission Denied。
回答:主要问题1、在于权限未配置,请联系项目Owner配置权限;2、将本地.ssh文件夹中的id.rsa配置到远程的SSH的Keys下面;3、本地存在github账号,与公司项目冲突,使得Git.bash不清楚你要使用哪方的账号信息,那么需要在.ssh目录下加入一个config文件,并将如下信息配置(原理如DNS):
# gitlab
Host gitlab.YourCompany.com
HostName gitlab.YourCompany.com
User [email protected]
IdentityFile ~/.ssh/id_rsa
Port YourServerCode 如8090
生成rsa文件
ssh-keygen -t rsa -C "youremail"
问题2:通过TortoiseGit来拉代码,出现让输入密码,无论怎么输入或正确密码,均不能通过
回答:原因在于在user目录下的.ssh文件夹生成,如果无则不会出现;TortoiseGit使用putty来拉,此时缺少ppk文件,需要使用puttygen.exe来使用id_rsa文件生成新的ppk文件,generate-save private key即可。最后把此文件加入设置进来,如下图-右键git clone,选择Load Putty Key选项即可