从事Android开发也有三年了,之前一直习惯使用SourceThree(真香警告⚠️),导致git命令一直不是很熟悉,后来转眼一想如果有一天自己要独当一面如果连git命令都不会是不是太low了,所以就卸载了SourceThree开始使用git命令,下面记录一下常用的命令以及使用过程中遇到的一些问题,忘了的时候可以看看,根据个人使用频率及遇到的问题排序:
问题
如何添加SSH key到github上
为什么要配置SSH呢?因为你提交代码肯定要拥有你的github权限才可以,但是直接使用用户名和密码太不安全了,所以我们使用ssh key来解决本地和服务器的连接问题。
用这个命令 ssh-keygen -t rsa -C "你的邮箱名"
然后连续3次回车,最终会生成一个文件在用户目录下,打开用户目录,找到.ssh\id_rsa.pub文件,记事本打开并复制里面的内容,打开你的github主页,进入项目的仓库settings->Deploy keys->Add new下粘贴:
问题
Android Studio git 取消本地 commit(未Push)
如果你不小心commit不想提交的代码,通过以下方法可以取消
1.选中项目然后依次选择:Git->Repository->Reset HEAD
然后再To Commit中输入HEAD^,表示将上一次commit取消掉 对本地代码没有任何影响
这里注意一下 Reset Type: (我一般用Soft)
Soft:选择这个模式意思是仅仅撤销commit而已,不影响你本地的任何文件,也不影响(index)缓存区的任何文 件。
Hard:不仅撤销commit的内容,还将本地的文件指向你commit前的版本,同时index也会指向commit前的版本。
Mixed:这个模式从我个人角度来看其实还是有点模糊的。从我的角度理解就是只是回滚index,其余的都不变。
问题
当前处于A分支,需要将此次修改的代码提交至B分支
答案
在没有进行commit之前可以进行一下操作
1、通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改
git stash
2、然后切换至B分支
git checkout B
3、从git栈中获取到最近一次stash进去的内容,恢复工作区的内容,获取之后,会删除栈中对应的stash
git stash pop
4、在进行正常的提交代码步骤即可
git add /src/main/..
5、git commit -m "功能开发"
6、git pull origin 分支名称
7、git push origin 分支名称
问题:
fatal: 无法访问 ‘http://11.1.1.92/xxxxxx/androidproject.git/’:Failed to
connect to 11.1.1.92 port 80: Operation timed out
答案:
百度了一圈都没找到这个问题的答案 ,后来问了一位老哥解决了,gitLab clone下的两个链接地址clone超时可以试一下直接clone项目地址
常用命令:
克隆远程代码到本地(cd 到目标目录,然后clone,用自己的远程库地址,输入账号和密码)
git clone http://xxx/xxx/androidproject
拉取远程分支内容(每次提交之前记得先拉取一下远程分支的内容)
git pull
推送本地更新到远程
git push
强制推送(慎用,除非你认为其他冲突等可以丢弃 或者不是很重要)
git push -- force
将所有文件提交到暂存区
git add .
提交到本地仓库
git commit -m "提交的备注信息"
查看当前分支
git branch
查看所有分支
git branch -a
解决远程新建分支之后,本地查看不到的问题(亲测有效)
git remote update origin --prune
切换当前分支 到 分支 AAA(分支名,下面都用AAA代表分支名称)
git checkout AAA
基于当前分支创建分支 AAA
git checkout -b AAA
推送本地的AAA(冒号前面的)分支到远程origin的AAA(冒号后面的)分支(没有会自动创建)
git push origin AAA:AAA
合并分支 AAA 到当前分支
git merge AAA
删除远程分支 AAA
git push origin --delete AAA
查看git常用命令
git helper -a
保存开发到一半的代码到stash
git stash
将代码追加到最新的提交之后
git stash pop
查看stash列表
git stash list
清除所有stash
git stash clear
设置全局的 email
git config --global user.email "you@example.com"
查看全局的 email
git config user.email
设置全局的name
git config --global user.name "Your Name"
查看全局name
git config user.name
查看哪些文件被修改过,提交前查看
git status
暂时就记录这么多,以后工作中遇到了其他的命令再补充,如果觉得这篇文章对你有用欢迎点赞,收藏😄