琪齐

空想终日彷徨行动方可无惧!

导航

git的基础介绍和使用

Posted on 2016-10-11 10:43  琪齐  阅读(1687)  评论(0编辑  收藏  举报

git工作原理

git的工作原理还是比较简单的,当我们创建了本地代码仓库后,会在本地代码仓库的根目录中生成一个.git的隐藏文件。

.git为一个文件目录,又叫做版本库。在本地代码仓库文件夹中,除.git目录之外的所有与.git同级的目录及其子目录都叫做工作区。

工作区(Working Directory):仓库文件夹里除.git目录以外的内容

版本库(Repository):.git目录,用于存储记录版本信息
    暂缓区(stage)
    分支(master):git自动创建的第一个分支
         HEAD指针:用于指向当前分支
git add和git commit的原理

git add :把文件修改或者新添加的文件添加到暂存区
git commit :把暂存区的所有内容提交到当前分支

下图就可以解释git add 和 git commit的原理:

 

git常用的命令

0、git init 初始化

1、git add filename.txt  添加要往远程传的文件到一个临时列表

2、git commit -m "xxx"  # 说明为啥上传

3、git push origin master  # 上传

4、git clone https://github.com/triaquae/Weibo  # 克隆远程的项目

5、git status  查看修改结果

6、git log  查看修改过几次

6.1、git reflog  查看修改过后所有历史操作

7、git log --pretty=oneline  查看修改过的所有版本

8、git reset --hard 加版本  回滚到哪个版本

9、git reset --hard head^  回滚到上个版本

10、git reset --hard head^^  回滚到上上(回滚到上两个)个版本

11、git reset HEAD filename.txt  撤回提交到暂存区的操作

12、git checkout --filename.txt  撤销工作区操作(可以多个文件)

13、git rm filename.txt  删除暂存区

14、git checkout -b "dev"  创建分支(引号里是分支名)

15、git push origin xxx  提交到分支库(xxx表示分支名)

16、git branch  查看分支

16.1、git checkout dev  切换到分支库

17、git merge dev  合并分支库到主库(dev表示分支库)

18、git pull  拉远程库的文件

19、git stash  缓存工作区的内容

20、git stash list  查看暂存区的内容

21、git stash apply  把暂存区的内容恢复到工作区

22、git stash pop  把暂存区的内容恢复到工作区并且把暂存区的删除

23、版本回退:
git reset --hard HEAD : 回退到当前的版本
git reset --hard HEAD^ :  回退到上一个版本
git reset --hard HEAD^^ : 回退到上上个版本
git reset --hard HEAD~100 : 回退到前100版本
git reset --hard 版本号(前5位)

我们修改或者新添加的文件起初是处于工作区,通过git add命令可以把工作区的文件移动到版本库中的暂缓区(stage)。

处在暂缓区(stage)的代码可以通过git commit -m “提交的注释” 提交到版本库中的分支(master)。

处在分支(master)中的代码可以通过git push命令push到共享版本库。

注意:只有分支中的文件才可以push到共享版本库。

初始化共享版本库

文件夹作为共享版本库

1.创建共享版本库文件夹,然后终端进入该文件夹下执行以下命令创建一个空的共享版本库
git init --bare
2.项目经理将共享版本库的内容先下载下来,命令后面的地址即为共享版本库所在服务器的地址+路径
git clone 地址
3.添加需要忽略的文件
touch .gitignore
去github上搜索.gitignore->Objective-C,把Objective-C中的内容粘贴到创建的.gitignore文件中(或者直接把github中的Objective-C文件下载到该目录下)。然后执行以下命令
git add .gitignore
git commit -m “添加了需要忽略的文件”
4.项目经理初始化项目
git commit -m “初始化项目”—>提交到本地代码仓库
5.将项目push远程仓库中
git push origin
6.当源代码管理是使用git,并且在Xcode进行多人开发的操作
注意:当使用git,项目中用到了静态库就不需要通过命令行进行添加

 git版本备份

1.1.0版本开发完成,之后对1.0版本进行备份
git tag -a weibo1.0 -m “这个是1.0版本” : 给某一个版本打上标签(weibo1.0是标签名称)
git tag : 查看所有的标签
2.需要将1.0版本的标签,push到服务器
git push origin weibo1.0
3.继续开发2.0版本
4.发现1.0版本有bug,从标签里面clone 1.0版本,从标签创建一个fixbug分支,在分支中修复bug
git clone 共享版本库
git checkout weibo1.0(标签的名称)
git checkout -b weibo1.1fixbug(分支名称)
5.修复后的版本上传AppStore/将1.0fixbug进行备份/将1.0fixbug版本和2.0版本进行合并\
git tag -a weibo1.1 -m “这个是修复了1.0版本bug的1.1版本”
git tag
git push origin weibo1.1
将子分支中代码合并到主分支,pull—>weibo1.1fixbug—>push master—>其它同事更新
6.删除分支
git branch -r(r是远程仓库的意思,这个命令可以查看远程仓库中的分支)
git branch -r -d 分支名称

基本步骤命令

1)touch README.md文件是关于工程代码的介绍,类似与使用说明书

2)git init  初始化一个本地的 git仓库,生成隐藏的.git目录(隐藏的.git目录可使用ls -aF命令可以查看到)

3)git add  README.md  把README.md文件添加到仓库中

4)git commit -m "first commit"  执行提交说明,在Gitz中这个属于强制性的

5)git remote add origin https://github.com/XFZLDXF/TEST.git   添加本地仓库origin和指定远程仓库地址

6)git push origin master  推送本地仓库到远程指定的master分支上

到这基本的git使用已经差不多了,暂时也就总结这些后续会更新补充...