整理自郭霖《第一行代码》
下载地址
git下载地址:https://gitforwindows.org/
基础命令行
配置用户及邮箱
git config --global user.name xxx
git config --global user.email xxx@xx.com
查看所有用户及邮箱
git config --global user.name
git config --global user.email
初始化
git init
浏览当前目录所有文件
ls -al
添加单个文件或某个文件夹
git add xxx
git add xx.xx
添加所有项目文件(注意 .)
git add .
提交添加的文件(-m为当前版本提交的说明)
git commit -m "xxx xxx"
查看文件修改情况(按回车进入详情,按q退出详情)
git status
查看文件变动详情
git diff
git diff app/src/main/java/xxx/xxx/xxx/xxx.java
撤销未提交修改
git checkout
git checkout app/src/main/java/xxx/xxx/xxx/xxx.java
取消add的文件
git reset HEAD app/src/main/java/xxx/xxx/xxx/xxx.java
查看提交日志
git log
git log xxxxxxxxxxxx
版本分支
查看所有分支
git branch
创建一个分支(xxx为版本名,自己起)
git branch xxx
切换分支(主分支为master)
git checkout xxx
分支合并
git merge xxx
删除分支
git branch -D xxx
远程版本库
从远程版本库克隆到本地
git clone https://github.com/test.git(项目地址)
将本地的修改同步到远程版本库
git push origin master
将远程版本库上的修改同步到本地(不合并到本地,仅存在origin/master分支上)
git fetch origin master
查看远程版本库上到底修改了哪些东西
git diff origin/master
合并远程版本库上的代码到本地
git merge origin/master
同步并合并(一起执行fetch和merge)
git pull origin master
忽略文件
项目根目录
object/.gitignore
app目录下
app/.gitignore
使用
*通配符
举例:*.iml 忽略所有已iml为后缀的文件
路径/文件夹(文件)/忽略路径相关文件夹或文件
xxx/xxx.xxx(xxx/xxx/)
举例: .idea/gradle.xml 忽略.idea下的gradle.xml
build/ 忽略整个build文件夹
github上创建库
项目类型:Android
开源协议:Apache License 2.0
常见问题
git fatal: destination path ‘文件名’ already exists and is not an empty directory.解决:
https://blog.csdn.net/u011687186/article/details/75277533
git add 遇到了The file will have its original line endings in your working directoryj解决:
https://blog.csdn.net/qq_41448891/article/details/83042679
git忽略文件,.gitignore已经添加但还是提交了 的解决方案:
清理缓存:git rm -r --cached .idea
https://www.jianshu.com/p/ba9dc0033e96
在Android Studio 中使用VCS - Git
创建分支
VCS --> Git --> Branches... --> + New Branch
切换到 dev 分支
VCS --> Git --> Branches... --> dev --> Check out
将 dev 分支 合并到 master 分支
先切换到 master 分支 : VCS --> Git --> Branches... --> master--> Check out
在合并 : VCS --> Git --> Branches... --> dev --> Merge into Current
提示
如果切换成功,注意 Android Studio 右下角 会显示当前分支 [ Git: dev ]