基本概念——workspace, staging area, repository
- 简化关键字
git config --global alias.br branch
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.co checkout
2. 文件
忽略文件 .gitignore 该文件为隐藏文件,使用ls -a即可让其显现出来
配置文件 .git/config 里面有git的远程服务地址(个人文件夹下有个文件.gitconfig 里面有全局git的配置,刚才写入的简化字段里面也有对应)
3. 常用语句
$ git pull 拉取当前分支的代码
提示 There is no tracking information for the current branch。说明该分支为和远程的分支关联 根据提示操作即可
git branch --set-upstream-to=origin/feature/xx feature/xx
git pull -p 可消除远程已删除,本地还保留的远程文件索引
$ git br 查看本地分支,并可看到当前的分支是哪个
git br -a 查看本地分支,并可以查看到远程分支在本地的索引
git br xxx 从当前分支上开出一个新的分支
git br -d xxx 删除xxx这个本地分支(-D xxx 是强制删除)
$ git st 查看当前分支状态
$ git diff 查看workspace相比于staging area修改了哪些代码,后面跟上某个文件的地址,即可查看该文件的修改处
$ git diff --name-only 查看workspace相比于staging area修改了哪些文件
$ git diff --staged 查看staging area相比于head(最近一次commit)修改了哪些代码,后面跟上某个文件的地址,即可查看该文件的修改处
$ git log 查看提交的日志列表
$ git co xxx 从当前分支上切换
git co -b xxx 从当前分支上开出一个新的分支,并切换到xxx这个新分支上来
$git merge xxx 当前分支合并其他的本地分支xxx
$ git push 推送当前分支到远程(是推送到对应的分支上去,有时候并非和自己分支名一致)
git push origin feature/xxx:feature/xxx 推送分支到远程,一般用于本地创建了一个分支需要推送到远程
git push origin :feature/xxx 可删除某个远程分支
$ git tag 查看改仓库的所有tag,把他当成一个特色的br也是可以的(后面接 -l,-n皆可)
git tag -am '提交文案' v1.0.0 打一个标签v1.0.0
git push origin v1.0.0:v1.0.0 和推送远程分支一样,tag的推送是一样的
$ git stash 暂存工作区
$ git stash pop 恢复工作区
$ git stash list 展示工作区暂存历史
$ git reset file 把staging area里的file退回workspace
$ git reset --hard head 回滚到head(最近一次commit),如果回滚之前有合并冲突,需先把冲突文件加入staging area
$ git reset --hard 同上
$ git reset --hard head^ 回滚到head前一次commit,n个^就是前n次commit,如果回滚之前有合并冲突,需先把冲突文件加入staging area
4. 可视化工具
4.1 Git Gui
4.2 SourceTree
4.3 Xcode