Git使用总结(持续更新)
Git是分布式版本控制工具,在云端有一个远端库,用于代码共享,方便团队合作开发。每个人都可以
从远端代码库拉取代码到本地仓库,然后在本地拉取分支或者进行各种功能开发、bug修复等工作。
合作开发就要求远端仓库的代码正确性。不让自己的错误代码污染远端仓库,不给同事添麻烦。
- 习惯1:在每次push代码之前首先保证自己的代码运行没有问题,再pull云端develop分支或者master分支最新代码,在本地merge之后,解决冲突,再次运行没有问题之后再push到远端主分支。
- 习惯2:在每次切换分支前,先commit自己的代码,或者将未完成代码暂存,再切换分支。
- 习惯3:在每次打包时,要先pull最新代码,然后先clean project,再修改配置文件,最后运行一次没有问题之后再push到远端。
常用git命令
- 删除本地分支
git branch -D br
(-d也可以删除,-D表示强制删除,如果要丢弃一个没有被合并过的分支,可以通过git branch -D
强行删除。) - 删除远程分支
git push origin :br
- 重命名本地分支
git branch -m
原名 新 - 合并分支
git merge br
(合并分支用AS自带的GUI工具比较方便解决冲突) - 切换分支
git checkout br
- 暂存工作区
git stash
(开发过程中比较实用的一个功能,在自己本地代码还在写,不够commit的程度,比如功能还没写完时,又临时有事插进来需要切换分支时,可先暂存工作区,到时返回这个分支,再恢复工作区继续写,没有尴尬的commit记录) - 恢复暂存区 【
git stash apply
+git stash drop
】/ 【git stash pop
】(这个和暂存工作区的操作,在Android Studio上都有gui界面可操作,简单方便快捷) - 查看所有标签
git tag
- 推送一个本地标签
git push origin tagname
- 推送全部标签
git push origin --tags
- 删除一个本地标签
git tag -d tagname
- 删除一个远程标签
git push origin :refs/tags/tagname
- 拉取远程仓库
git clone$ git@github.com:michaelliao/gitskills.git
(后面是远程仓库地址)
- 删除本地分支
参考 廖雪峰的Git教程
git配置过程中遇到的坑
配了个新笔记本,要重新配置git,记录一下遇到的坑:
1. 首先要在新笔记本上安装git,但由于是之前别人用过的笔记本,虽然清理过,但是git的用户名等信息却并没有清理干净。
- 尝试1:用
git config --global user.name"myName"
命令行设置却总是不成功, - 尝试2:修改了.gitconfig文件,出了错误,删除这个文件再命令行修改还是不行(命令行貌似不能自动生成这个文件)
- 尝试3:后来发现下载的Git的GUI工具TortoiseGit 中有设置用户名和密码的界面,可以创建和编辑.gitconfig 文件,这次成功修改了git的用户名和邮箱。
2.要从远程仓库拉取代码,还需要配置sshkey:打开git bash 输入 -keygen -t rsa -b 4096 -C“ your_email@example.com ”
,然后按提示输入密码,在.ssh文件夹下会生成 id_rsa 和 id_rsa.pub文件(参考此链接)
打开id_rsa.pub文件,复制下来,在github中新建一个sshkey,将复制内容粘贴到sshkey中,然后在本地git bash执行git clone 即可。(这里用命令行比较方便)