0. 链接
1. 命令行
1.1 初始化
git init
1.2 配置
//一次性配置,会配置到所在文件夹得.git(隐藏)文件夹下,
git config [user.name](http://user.name/) zl
git config user.email [zl@itcast.cn](mailto:zl@itcast.cn)
//全局配置,配置到个人文件夹下
git config --global [user.name](http://user.name/) zl
git config --global user.email [zl@itcast.cn](mailto:zl@itcast.cn)
1.3 查看状态
git status
1.4 add //添加到暂存区
git add /Users/lnj/Desktop/workspace/Weibo/branches/User.m
1.5 commit //提交到本地仓库
git commit -m “修改了User.m文件” /Users/lnj/Desktop/workspace/Weibo/branches/User.m
1.6 alias //起别名
git config [alias.st](http://alias.st/) status
1.7 reflog
//查看所有修改信息
git reflog
//查看文件被修改的地方
git diff 文件名
--不加文件为显示所有文件被修改的地方
--显示绿色代表新增
--显示红色代表删除
1.8 log //查看log
git log 文件名
1.9 reset //撤销
//撤销未提交的内容
git reset --hard HEAD
//返回上一个版本(已提交),—HEAD^代表强制重置
git reset --hard HEAD^
//返回制定版本(已提交)(只要打hash值的前7位)
git reset e695b67
//返回之前第三个版本(已提交),—HEAD^代表强制重置
git reset --hard HEAD~(3)
//配置带颜色的log别名
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit”
1.10 checkout
//撤销未提交的版本
$ git checkout Person.h
2. 命令行远程
2.1 新建(先打开需要保存到的远程仓库目录)
git init —bare
--仅仅用于管理代码,不参与开发
2.2 项目经理初始化项目
2.2.1 克隆一份空得仓库到本地(先打开本地目录)
git clone /Users/apple/Desktop/working/公司远程仓库
2.2.2 忽略不需要加入版本控制的文件和文件夹
打开远程仓库文件夹,将以下命令一次性粘贴到命令行中
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](http://cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control)
#
# Pods/" > .gitignore
2.2.3 将.gitignore添加到代码库中
$ git add .gitignore
$ git commit .gitignore -m "配置忽略文件"
2.2.4 新建项目,提交到服务器
—source conrol—->将代码提交到本地仓库
3.分支管理
3.1 给本地的项目打标签(先进入经理文件夹)
git tag -a v1.0 -m 'Version 1.0’
3.2 查看当前的标签
git tag
3.3 推送到远程代码库中
git push origin v1.0
3.4 下载一个版本的代码(打开远程代码库目录)
$ git checkout v1.0
3.5 创建分支
git checkout -b 1.0bug_fix
3.6 查看远程分支
git branch -r
3.7 删除远程分支
git branch -r -d origin/bugfix1.0
4.github
4.1 登陆账号
GitHup—>Preferences—>Accounts
4.2 创建项目
左上角“+”号—>Create—>选择目录—>创建—>右上角Publish发布到网上
—>在新建的文件夹下创建一个程序
4.3 Commit to master 提交到本地仓库
4.4 Publish 提交到github
5. 扩展:
checkout 检出
branch分支
config配置
global全局
reset重置
remote远程
merge合并
stash隐藏
git config --global user.name "" 配置用户名
git config --global user.email "" 配置邮件
git init 初始化本地git仓库(创建新仓库)
git add xxx.txt 添加xxx.txt文件
git commit -m "提交" 提交
git status 查看当前版本状态(是否修改)
git diff xxx.txt 显示xxx.txt修改了什么
git checkout -- xxx.txt 把xxx.txt文件在工作区做的修改全部撤销(1.xxx.txt修改后还没有放到暂存区,使用撤销修改就回到和版本库一模一样的状态;2.xxx.txt修改后已经放到暂存区,接着又做了修改,撤销修改就回到添加暂存区后的状态)
git log 显示提交日志
git log --pretty=oneline 显示简洁版的提交日志
git log --graph --pretty=oneline --abbrev-commit 带线版显示提交日志
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上上个版本
git reset --hard HEAD~100 回退到前100个版本
git reset --hard 版本号 回退到指定的版本
git reflog 获得版本号
ssh-keygen -t rsa -C "邮箱" 生成.ssh
git remote add origin http/ssh地址 将本地库项目与远程仓库关联
git push -u origin master 将本地库的内容推送到远程仓库,实际上是把当前分支master推送到远程(由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令 git push origin master)
git clone http/ssh地址 将远程仓库内容克隆到本地
rm 文件名 只删除工作区文件
git rm --cached 文件名 只删除暂存区的文件
git rm 文件名 删除工作目录和暂存区域的文件(两个地方文件一样)
git rm -f 文件名 如果工作目录和暂存区域的文件不一样,Git会有提示,可以暴力删除,两个区域都删
git checkout -b 分支名 创建并切换分支(相当于git branch name 创建分支 + git checkout name 切换分支)
git checkout -b dev origin/dev 本地新建一个分支dev,并切换到新建的分支dev,并且建立dev与远程分支origin/dev的跟踪关系(dev是你当前的本地分支,origin/dev是你本地分支对应的远程分支)
git checkout 分支名 切换分支
git merge 分支名 将指定分支合并到当前分支
git merge --no-ff -m "注释" 分支名 --no-ff表示禁用fast forward
通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式。
git branch 查看分支
git branch -a 查看所有分支
git branch -d 分支名 删除本地分支(在主分支下操作)
git push origin --delete 远程分支名 删除远程分支
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支(master)修改的内容,>>>dev是指dev分支上修改的内容
git stash 将当前的工作现场隐藏起来
git stash list 查看隐藏的工作现场
git stash apply 恢复隐藏的工作现场(但是stash内容不会被删除,需要使用命令git stash drop去删除)
git stash drop 删除修改内容
git stash pop 恢复的同时把stash内容也删除了
git remote 查看远程仓库的信息
git remote -v 查看远程仓库的详细信息
git pull 拉取
git branch --set-upstream dev origin/dev
(使用git在本地新建一个分支后,需要做远程分支关联,目的是跟远程分支关联)
(dev是你当前的本地分支,origin/dev是你本地分支对应的远程分支)
网友评论