Git快速入门
初始化项目
直接clone已经有的项目
git clone https://github.com/hangox/git-use-demo.git
或者初始化本地项目
移动到项目的地址
cd /Users/hangox/Desktop/AndroidWorkspace/GitUseDemo
再敲入
git init
这个时候敲入git status
就会看到
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
.idea/
app/
build.gradle
gradle.properties
gradle/
gradlew
gradlew.bat
settings.gradle
nothing added to commit but untracked files present (use "git add" to track)
这是时候就会表示成功了
设置代码提交者信息
如果不设置代码提交者信息当然也可以提交,但是谁不希望提交上去的代码有个有个牛逼的名字呢😈
设置名字:
git config user.name "NiuBi"
设置邮箱:(出问题了人家可以找到你😂)
git config user.email "hangox.liang@gmail.com"
如果你想所有项目都是应用这个名字和邮箱只需要加上参数-- global
比如:
git config --global user.name "NiuBi"
git config user.email "hangox.liang@gmail.com"
要想查看现在的config信息可以这样
git config --list
你就会看到
user.name=47
user.email=liang.hanguang93@gmail.com
core.autocrlf=input
core.excludesfile=/Users/hangox/.gitignore_global
core.ignorecase=false
difftool.sourcetree.cmd=opendiff "$LOCAL" "$REMOTE"
difftool.sourcetree.path=
mergetool.sourcetree.cmd=/Applications/SourceTree.app/Contents/Resources/opendiff-w.sh "$LOCAL" "$REMOTE" -ancestor "$BASE" -merge "$MERGED"
mergetool.sourcetree.trustexitcode=true
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=true
user.name=NiuBi
如果你发现了两个user.name和user.email ,这是其中一个是global的,一个是项目的而已
当然git config
还有很多可以设置的,包括合并工具什么的,自己挖掘吧!
编写.gitignore
什么是.gitignore
.gitignore 就好像它的名字一样
告诉 git忽略一些不需要的文件
.gitignore 编写规则
项目文件结构是这样的
.
├── GitUseDemo.iml
├── app
│ ├── app.iml
│ ├── build
│ ├── build.gradle
│ ├── libs
│ ├── proguard-rules.pro
│ └── src
├── build
│ └── generated
├── build.gradle
├── gradle
│ └── wrapper
├── gradle.properties
├── gradlew
├── gradlew.bat
├── local.properties
└── settings.gradle
我想要忽略build文件夹,.iml 结尾文件和local.properties
#忽略build 文件夹
/build
#忽略local.properties 文件
local.properties
#忽略.xml 结尾的文件,使用正则
*.iml
#不忽略GitUseDemo.xml,这里只是为了演示,其实应该忽略的
!GitUseDemo.iml
#gradle 缓存文件,不需要提交
.gradle
#idea 的配置文件,不需要提交
.idea
这个时候我们敲入git status
On branch master
Initial commit
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
GitUseDemo.iml
app/
build.gradle
gradle.properties
gradle/
gradlew
gradlew.bat
settings.gradle
nothing added to commit but untracked files present (use "git add" to track)
可以看到不需要的东西都被忽略了
添加需要提交的文件到暂存区
添加当前文件夹所有文件
git add .
移除追踪的文件
##去掉--cached就是同时删除文件
git rm --cached build.gradle
使用简单的匹配添加文件
添加后缀为.gradle的文件
git add *.gradle
提交
简单的提交方法
git commit -m 'first commit'
如果你写的东西比较长,可以这样
git commit
这样将会出现一个vim 编辑器来编写,像这样

推送到远端
以上我们做的都这是发生在本地(这也是为什么Git快的原因了),如果需要和小伙伴们合作的话,就需要推送到远端了。
如果你是clone下来的可以跳过以下这一步了
- 添加远端
# 添加远端,origin 只是一个名字而已,只是默认都是叫这个
git remote add origin https://github.com/hangox/git-use-demo.git
# 查看远端信息
git remote -v
- 更新以下本地的代码(每次同步之前建议这样做,虽然我老是忘记/(ㄒoㄒ)/~~)
# pull 其实是包含了两步操作,从remote 中fetch(拿来)代码,和当前分支(也就是master)
# merge(合并),如果你们公司使用的是rebase的话,就不能这样干了。但是大部分情况下都是
# 使用merge的
git pull origin master
- 上传代码
# git push <remote-name> <remote-branch-name>
git push origin master
等待片刻,代码就上传完毕,你就可以和小伙伴们愉快的玩耍了O(∩_∩)O~~