Git在开发当中是非常常用的代码管理工具,用起来十分方便快捷,但是如果深挖起来也够喝一壶的了,如果想要系统学习Git,笔者提供一些资料,Git中文官方文档、廖雪峰的Git教程。但是实际开发过程中,其实不需要研究那么深入的,因为大的公司一般都有专门管理git的人员,开发人员一般只需要提交就OK。如果想要学会如何使用Git,那么看这篇文章就够了。
Git常用指令
首先介绍一下Git的常用指令。
git init 初始化本地仓库
git add . 添加所以文件到本地仓库
git commit -m “xxx” 提交,-m是说明,必须填写
git status 查看文件的状态
git diff 查看更改的内容,例如git diff app/src/main/java/com/example/providertest/MainActivity. java
git checkout 撤销更改,但是只能撤销未add的文件
git reset 撤销已经add的文件
git log 查看提交记录
git branch 查看所有分支
远程仓库操作
git clone +https 克隆远程仓库
git push origin master 将修改提交到远程仓库
git fetch origin master 将远程仓库修改恭喜到本地
git diff origin/master 查看修改
git merge origin/master 分支上的修改合并到主分支上
git pull origin master 相当于将fetch和merge这两个命令放在一起执行了,它可以从远程版本库上获取最新的代码并且合并到本地
.gitignore AdroidStudio自动生成的文件,里面的路径在上传GitHub的时候会被忽略。分享一个各种语言的gitignore列表。https://github.com/github/gitignore/blob/master/Terraform.gitignore
更强大的指令:
- diff 比较文件差异、改动,有更方便的difftool工具查看改动
- stash
- reflog HEAD改动历史记录
- rebase 变基
https://www.liaoxuefeng.com/wiki/896043488029600
操作
上传本地项目
准备工作一样,需要git,GitHub账号,但是还需要创建SSH(本地代码和github仓库的连接者)
第一步:创建SSH
以MAC为例,Windows基本上差不多,但是有些细微的差距
$cd ~/.ssh //检查是否已经存在ssh
如果存在,跳过这一步。如果不存在使用自动生成秘钥的链接
ssh-keygen -t rsa -C xxx@126.com
替换成自己的邮箱,输入完之后一直敲回车,中间提示输入密码也不用管,继续敲回车便是,直到出现类似这样。
第二步:使用秘钥连接GitHub
显示Mac所有文件的命令:defaults write com.apple.finder AppleShowAllFiles YES
隐藏Mac所有文件的命令:defaults write com.apple.finder AppleShowAllFiles NO
在终端输入显示Mac所有文件的命令后,点击电脑左上角的苹果标志->选择强制退出->选择Finder重新开启。搜索.ssh
文件,找到id_rsa.pub。
登陆GitHub,选择Account Settings-->SSH Keys 添加ssh
Title:xxx@126.com (这个可以随便填,建议用邮箱哦)
Key:打开你生成的id_rsa.pub文件(或者已经存在),将其中内容拷贝至此。
第三步:验证
完成之后记得要验证哦,验证秘诀:
输入命令
ssh -T git@github.com
返回如下代表成功
Hi xiaogangfan! You've successfully authenticated, but GitHub does not provide shell access.
如果没有返回,请点击这里,查询失败的原因
第四步:在GitHub上创建本地仓库
就直接New就行了,需要记住Clone的SSH
第五步:提交
先通过cd找到本地项目,注意语法,类似这样
提交代码
git init //初始化本地仓库
git add . //将代码放到提交区,"."代表提交所有
git commit -m "commit"//提交到要地仓库,并写一些注释 -m 代表注释
git remote add origin git@github.com:xiaogangfan/vaidation.git //连接远程仓库并建了一个名叫:origin的别名
git pull --rebase git@github.com:xiaogangfan/vaidation.git //更新一下
git push -u origin master //将本地仓库的东西提交到地址是origin的地址,master分支下
因为现在这些编辑器都已经和Git或者说是GitHub紧密连接,操作起来十分方便。开发过程中已经很少使用Git的语句了,如果想知道IDEA如何简化操作的,可以阅读笔者的另一篇博客Git使用教程
参考文献:
https://jingyan.baidu.com/article/b0b63dbf849d580a483070a2.html
https://blog.csdn.net/Bolted_snail/article/details/90241483
mac上传本地代码到Github
MAC上传本地代码到Github
第一行代码,作者博客https://blog.csdn.net/guolin_blog/