git的基础介绍和使用

git工做原理

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

.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的原理:github

 

git经常使用的命令

0、git init 初始化

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

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

三、git push origin master  # 上传

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

五、git status  查看修改结果

六、git log  查看修改过几回

6.一、git reflog  查看修改事后全部历史操做

七、git log --pretty=oneline  查看修改过的全部版本

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

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

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

十一、git reset HEAD filename.txt  撤回提交到暂存区的操做

十二、git checkout --filename.txt  撤销工做区操做(能够多个文件)

1三、git rm filename.txt  删除暂存区

1四、git checkout -b "dev"  建立分支(引号里是分支名)

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

1六、git branch  查看分支

16.一、git checkout dev  切换到分支库

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

1八、git pull  拉远程库的文件

1九、git stash  缓存工做区的内容

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

2一、git stash apply  把暂存区的内容恢复到工做区

2二、git stash pop  把暂存区的内容恢复到工做区而且把暂存区的删除

2三、版本回退:
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到共享版本库。app

注意:只有分支中的文件才能够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使用已经差很少了,暂时也就总结这些后续会更新补充...code

相关文章
相关标签/搜索