今天整理了常用的git的用法,帮助大家更快速的入门!
git 常见指令
指令补充:
$ ls 列表
$ cd .. 返回上一级
vi 文件名 在某路径下创建一个文件(.txt 则创建出来是txt文件;.m/.h 则创建出来是oc文件,用于快速创建文件)
创建一个main.m文件,在文件里编辑
#import <Foundation/Foundation.h>
int main() {
NSLog(@"hello");
return 0;
}
$ clang -fmodules main.m -o main 将生成一个可编译文件
$ clang -fmodules -fsyntax-only -Xclang -ast-dump main.m 将会将文件执行命令用语法树的形式打印下来
(如下图)
git个人开发
1.进入到工作目录中,初始化一个代码仓库
$ git init
2.给谁git仓库配置一个用户名和邮箱
$ git config user.name "syj"
$ git config user.email "syj@163.com"
3.初始化代码
$ touch main.m
$ git add mian.m
4.查看文件状态
$ git status (Untracked files:新添加的文件或者修改的文件在工作区中,没有被添加到暂缓区; 工作区: 除了.get文件都是工作区)
5.打开文件并修改
$ open main.m
6.将工作区所有的文件添加到暂缓区中
$ git add . (`.` 默认添加所有的文件; `git add 文件名`可以添加指定文件)
7.给git命令起别名
$ git config alias.st “st”
$ git config alias.ci “commit -m”
打开 .git 后的界面如下:
8.查看历史版本
$ git log
$ git 版本号 (0e6c34e9d8bfb2d60a7bd0c2a48fedaf4462d59e git 版本号是由sha1加密算法生成的40位嘻哈值)
//配置带颜色的log别名
$ git config --global alias.lg "log --graph --pretty=format:'%Cred%h - %Cgreen[%an]%Creset -%C(yellow)%d%Creset %s %C(yellow)<%cr>%Creset' --abbrev-commit --date=relative”
9.版本回退
$ git reset --hard HEAD 强制回退
$ git reset --hard HEAD^ 回退到上一个版本
$ git reset --head HEAD^^ 回退到上两个版本
$ git reset --head HEAD~100回退到100个版之前
$ git reset --head 版本号前7位
10.--global 的作用
$ git config --global user.name “syj”
$ git confg --global user.email “syj@163.com" (增加--global 可以针对整个git 指定用户名和邮箱)
git 团队开发(共享版本库)
模拟经理和张三来共同开发一个项目wechat
1.经理创建一个代码共享库(让一个文件夹成为共享库)
$ git init --bare
Initialized empty Git repository in /Users/ML/Desktop/demo/代码共享库/
2.经理将共享代码仓库中的内容clone
下来
$ git clone /Users/ML/Desktop/demo/代码共享库
Cloning into '代码共享库'...
warning: You appear to have cloned an empty repository.
done.
3.项目经理初始化项目
.忽略文件:在我们的.git
同级目录下创建.gitignore
文件指定需要忽略的文件(在github
上搜索.gitignore
,查看oc需要忽略的内容,将内容填写到.gitignore
中)
$ touch .gitignore
粘贴忽略文件到 .gitignore里
$ git add .
$ git commit -m”提交忽略文件" (将.gitignore添加到本地仓库管理中)