参考资料:参考  参考

声明本文是作者原创,是自己的学习笔记,仅供学习参考。

在 10.11.2Mac系统中,要显示隐藏的文件夹使用命令行:

defaults write com.apple.finder AppleShowAllFiles -bool true

killall Finder

要隐藏本来是隐藏的文件夹使用命令行:

defaults write com.apple.finder AppleShowAllFiles -bool false

killall Finder

在一个没有勾选git的项目中,现在要引入git。

打开Terminal窗口(如果你之前打开了一个,那就先关掉它再重启,从而使我们安装的命令行工具生效)。下面切换到新项目的目录:

创建本地仓库
1、初始化自己一个普通文件夹为本地仓库文件夹
git init

要初始化本地仓库的一些个人信息,也就是我们的用户名和email
git config user.name name
git config user.email qqnumber@qq.com

2、查看当前本地仓库的状态
git status
如果有要提交的东西会显示为红色(意味着根本就没进入临时仓库中)
3、要提交新的文件
a、先add filename
git status
会发现文件变绿色(也就以为着,文件已经放到临时仓库中)
b、在提交 commit
连绿色文件都没了(意味着提交成功,也就是临时仓库中的文件提交到真正的仓库中去了)
commit之后,会进入vim编辑器写一些修改信息的描述的
如果不想进入vim编辑器写描述信息,可以在commit的时候直接加上描述信息
git commit -m"你的描述信息"

4、查看之前的提交版本信息
git log
想要看之前的版本信息更清楚一点,可以用下面的命令
git reflog

5、回到某一个版本
commit 提交之后回版本的操作
回到前一个版本
git reset --hard HEAD^
回到前面某个版本
git reset --hard 版本号

提交(commit)之前要想回到上一个版本
一种:git reset --hard HEAD
二种:git checkout main.m
或者 git checkout HEAD main.m

注意:HEAD 之后的 托字符 ^
commit 之后的"回上一版本操作"要加上^
commit 之前的"回上一版本操作"不加^

6、查看所修改过的地方

git diff

红色的代表是自己删除过的
绿色的代表是自己修改过的

远程仓库
1、初始化一个远程仓库
git init --bare
远程仓库仅仅是用来管理代码的,不是用来存放代码的

2、经理从远程仓库clone一份过来
git clone 远程仓库路径或网络地址
3、创建一个.gitignore文件
需要注意的一点,.gitignore文件 一定要和.git隐藏文件夹在同一目录下面
echo -e "# Xcode
#
build/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
# Pods/" > .gitignore

4、add .gitignore 文件到临时仓库中
git add .gitignore

5、提交 .gitignore 文件
git commit -m"suibian"

6、把工程提交的公司服务器
(push)

7、员工应该首先从公司服务器把代码clone下来,员工才能修改代码
/../../../zhangsan git clone 公司服务器的地址

8、修改代码
点击 Xcode菜单栏上的source control -> commit 进行提交
commit 的时候 顺便再勾选一下左下角的 push to remote

9、经理要查看员工修改的代码
点击 Xcode菜单栏上的source control -> pull 进行更新

10、如果有新人进入公司
公司第一次给新人的是一个公司服务器仓库的副本
所以就要求项目经理创建一下新人服务器的远程仓库
a、创建一个远程仓库文件夹
b、有项目经理操作:操作流程:Xcode -> source control -> 主仓库-master -> configure 主仓库 -> Remotes -> 左下角+ 添加一个新人服务器地址 -> 填完用户名和地址之后 done
c、向新人服务器里面添加项目
项目经理->Xcode->source control->push->新人服务器地址里面
11、新人从项目经理那边拿到新人服务器的地址,开始clone,并开发。

12、项目的分支 (了解)
给项目打上标签
git tag -a v1.0 -m"versioin1.0"
查看项目标签
git tag

把v1.0这个标签推送的公司的服务器里面

13、经理找来王五开始修改v1.0的bug
王五应该拿到贴有1.0标签的这个版本的项目
(在主分支里面直接拿v1.0)
git checkout v1.0

用一个新的小分支来修改1.0的bug
(在新的小分支里面拿 v1.0 版本的项目)

张三这个员工继续开发

14、直到有一天王五把项目bug改好了,才能合并到张三的代码中
王五要合并到主分支里面
王五 打开工程:source control -> 1.0bugfix -> merge into branch(master分支)-> merge->enable

最后注意,下面的命令里面也可以自定义一些过滤文件,不让其在每次更新的时候上传。

在上传代码的时候,要注意过滤一些不必要上传(更新)的代码,过滤设置命令如下:

echo -e "# Xcode
#
build/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
#
# Pods/" > .gitignore

命令行代码

下面分享一个使用终端命令去下载 gitHub上的代码的方法:

(1)在桌面上建立一个文件夹 “下载文件夹”

(2)打开终端,在终端中输入命令 cd ,并将 “下载文件夹” 拖入终端,生成路径,回车,输入 pwd 确定是该路径

(3)输入 git clone 然后打开gitHub ,复制你要下载的源代码的 代码地址,注意是从页面中,名字右边的地方开始复制地址,不要复制浏览器地址栏,然后回车,OK开始下载

关于下一篇:使用 Git 命令去管理项目的版本控制(二)  详细的写出了不同环境情况下的版本控制操作步骤

使用 Git 命令去管理项目的版本控制(一)的更多相关文章

  1. 使用 Git 命令去管理项目的版本控制(二)

    参考 上一篇  完成本篇博客,本篇为作者原创,仅供学习参考. 本篇博文在上一篇的基础上这里记录了我的一个小模拟练习.本篇作为自己的学习笔记,也意在方便其他人的学习使用,达到分享目的.下面主要是操作截图 ...

  2. 用Git管理项目进行版本控制

    一.安装 1.1windows 要在Windows系统中安装Git,请访问http://msysgit.github.io/,并单击Download.安装. 1.2 在 Linux 系统中安装 Git ...

  3. 使用git和github管理项目代码

    以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读书笔记方便了不少,到哪里只要有网就可以把自己的东西拷贝下 ...

  4. Git命令行管理代码、安装及使用

    出处:https://www.cnblogs.com/ximiaomiao/p/7140456.html Git安装和使用     目的:通过Git管理github托管项目代码 一.下载安装Git 1 ...

  5. mac上使用git命令上传项目工程源码至Github/gitee

    原文连接:(http://www.studyshare.cn/blog/details/1164/0 ) 一.安装git工具 1.官网下载地址:点击下载  安装步骤略,mac安装工具双击拖动即可. 2 ...

  6. 初次在cmd使用git命令上传项目至github方法(笔记)

    在一切开始之前,先推荐一个git简易工具书--Git_Cheat_Sheet,非常适合新手.自行搜索即可,也有热心者提供了中文版. 一.下载 Git 从Git官网下载Git安装包 https://gi ...

  7. 利用GIt命令上传项目到GitHub指定仓库

    1.建立GIt可管理的仓库 cd到本地项目根目录下,执行 git init 命令: git init 2.将项目的所有文件添加到仓库中(注意add后面有一个“ . ”) git add . 3.将上一 ...

  8. ***Linux下使用git命令及github项目

    在linux下搭建git环境1.创建Github账号,https://github.com2.Linux创建SSH密钥: ssh-keygen  ##一直默认就可以了 3.将公钥加入到Github账户 ...

  9. git命令上传项目到码云总结

    码云上传项目git命令总结: git clone https://git.oschina.net/xh-lxx/xh-lxx.oschina.io.git 进入到克隆下来的文件夹,然后操作git命令 ...

随机推荐

  1. 高速创建和mysql表相应的java domain实体类

    今天创建了一个表有十几个字段,创建完之后必定要写一个与之相应的java domain实体类. 这不是反复的工作吗?为什么不先把这个表的全部的字段查出来,然后放到linux环境下,用sed工具在每一行的 ...

  2. nodejs while-loop

    node-while-loop A while loop alternative for Nodejs based on promises. Install $ npm install --save ...

  3. Codeforces Round #267 (Div. 2) B. Fedor and New Game

    After you had helped George and Alex to move in the dorm, they went to help their friend Fedor play ...

  4. wlpt的提现功能

    1.<transaction id="WithdrawPre" template="pageLoaderTemplate"> <actions ...

  5. TFS 解除独占锁定

    cmd 进入Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE tf workspace /delete 工作区名;创建的用户 / ...

  6. PHP获取IP

    <?php $iipp = $_SERVER["REMOTE_ADDR"]; echo $iipp ; ?>

  7. HDU 4622 Reincarnation 后缀自动机 // BKDRHash(最优hash)

    Reincarnation Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) P ...

  8. 九度OJ 1133:学分绩点 (加权平均数)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1333 解决:702 题目描述: 北京大学对本科生的成绩施行平均学分绩点制(GPA).既将学生的实际考分根据不同的学科的不同学分按一定的公式 ...

  9. (t,p,o) t:p>=o there cannot be more consumer instances in a consumer group than partitions

    https://kafka.apache.org/intro.html Kafka as a Messaging System How does Kafka's notion of streams c ...

  10. The Apache Thrift API client/server architecture

    http://thrift.apache.org/ The Apache Thrift software framework, for scalable cross-language services ...