黑马程序员技术交流社区

标题: git笔记之知行合一 [打印本页]

作者: zf19920222    时间: 2018-5-20 20:54
标题: git笔记之知行合一
设置全局仓库用户名
git config --global user.name "zf192"  
设置全局仓库邮箱
git config --global user.email "464406607@qq.com"

git init        初始化当前文件夹被git管理(当前文件夹为工作区)

git add xxx.php                添加到暂存区(.git下面的index指针文件指向的区域)
git commit -m 'xxx.php提交'          提交到本地仓库并注释提交信息
git commit -a                直接从工作区提交到本地仓库
git push                        从本地仓库提交到远程仓库(github)

git status                 查看是否还有文件未提交
git diff xxx.php        查看修改的内容(异同

git log                 查看历史记录,可以查看最近两次修改
git log --pretty=oneline 查看更多历史信息

版本回退
git reset --hard HEAD^          回退到上个版本
git reset --hard HEAD^^        回退到上上个版本
git reset --hard HEAD^^^        回退到上上上个版本
...以此类推
git reset --hard HEAD~100        回退到前100个版本

什么?吃了后悔药后又后悔?
通过版本号回到最新的那个版本
git reset --hard 版本号          回退到指定版本号时的代码
git reflog                        获得版本号

查看文件内容
cat xxx.php

撤销工作区的修改
git checkout -- readme.txt
        1. readme.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
        2. 另外一种是readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。
rm xxx.php                 在工作区中删除xxx.php
git checkout -- xxx.php        在工作区中恢复被删除了的xxx.php

创建SSH key,
ssh-keygen -t rsa -C "464406607@qq.com"
在windows用户主目录下生成.ssh文件夹,文件夹下生成id_rsa(私钥)和id_rsa.pub(公钥)这两个文件

远程仓库(github)
GitHub上建立一个空仓库的,GitHub告诉我
们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓
库与之关联,然后,把本地仓库的内容推送到GitHub仓库。
现在,我们根据GitHub的提示,在本地的testgit仓库下运行命
令:
git remote add origin https://github.com/zf192/testgit.git
git push -u origin master
输入帐号,和填上密码弹出框  上传成功

从现在起,只要本地作了提交,就可以通过如下命令:
git push origin master
把本地master分支的最新修改推送到github上了,现在你就拥有了
真正的分布式版本库了。

把本地库的内容推送到远程,使用 git push命令,实际上是把当前
分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了 –u参
数,Git不但会把本地的master分支内容推送的远程新的master分
支,还会把本地的master分支和远程的master分支关联起来,在以
后的推送或者拉取时就可以简化命令。

克隆远程仓库
把在d:\www目录远程仓库克隆到本地
git clone https://github.com/zf192/testgit2.git
在项目下生成testgit2目录,并且克隆了远程仓库下testgit2中的所有文件,文件夹

六创建与合并分支
master分支是主分支
dev分支是开发分支,在dev下开发,master上合并(dev分支是自定义分支名,master是默认主分支)
git checkout -b  dev  创建dev分支,并切换到dev分支上相当于以下两条命令
git checkout dev 切换到dev分支
git checkout master 切换到master分支

查看分支
git branch

在dev分支下的操作,切换到master分支是更改是不同的
在master分支下合并dev分支才能使数据同步
git merge dev  合并指定分支到当前分支上

删除分支
git branch -d  dev

创建与合并分支命令总结如下
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name

分支管理策略
通常合并分支时,git一般使用”Fast forward”模式,在这种
模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –
no-ff来禁用”Fast forward”模式。

多人协作
当你从远程库克隆时候,实际上Git自动把本地的master分支和远程
的master分支对应起来了,并且远程库的默认名称是origin

创建远程origin的dev分支到本地来
chechout -b dev origin/dev

把dev分支推送到远程去
git push origin dev

因此:多人协作工作模式一般是这样的:
1. 首先,可以试图用git push origin branch-name推送自己的
修改.
2. 如果推送失败,则因为远程分支比你的本地更新早,需要先用
git pull试图合并。
3. 如果合并有冲突,则需要解决冲突,并在本地提交。再用git
push origin branch-name推送。

git常用命令
mkdir: XX (创建一个空目录 XX指目录名)
pwd: 显示当前目录的路径。
git init 把当前的目录变成可以管理的git仓库,生成隐
藏.git文件。
git add XX 把xx文件添加到暂存区去。
git commit –m “XX” 提交文件 –m 后面的是注释。
git status 查看仓库状态
git diff XX 查看XX文件修改了那些内容
git log 查看历史记录
git reset --hard HEAD^ 或者 git reset --hard HEAD~ 回退到
上一个版本
(如果想回退到100个版本,使用git reset –hard
HEAD~100 )
cat XX 查看XX文件内容
git reflog 查看历史记录的版本号id
git checkout -- XX 把XX文件在工作区的修改全部撤销。
git rm XX 删除XX文件
git remote add origin
https://github.com/tugenhua0707/testgit 关联一个远程库
git push –u(第一次要用-u 以后不需要) origin master 把当前
master分支推送到远程库
git clone https://github.com/tugenhua0707/testgit 从远程
库中克隆
git checkout –b dev 创建dev分支 并切换到dev分支上
git branch 查看当前所有的分支
git checkout master 切换回master分支
git merge dev 在当前的分支上合并dev分支
git branch –d dev 删除dev分支
git branch name 创建分支
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的文件列表
git stash apply 恢复被隐藏的文件,但是内容不删除
git stash drop 删除文件
git stash pop 恢复文件的同时 也删除文件
git remote 查看远程库的信息
git remote –v 查看远程库的详细信息
git push origin master Git会把master分支推送到远程库对应
的远程分支上















作者: wuqiong    时间: 2018-5-21 09:58

作者: 小影姐姐    时间: 2018-5-21 14:29
加油加油
作者: 小影姐姐    时间: 2018-5-21 14:29
加油加油
作者: 歪果仁    时间: 2018-5-24 17:04
棒棒哒
作者: 歪果仁    时间: 2018-5-24 17:04
棒棒哒
作者: 小影姐姐    时间: 2018-5-24 17:32

作者: 魔都黑马少年梦    时间: 2018-5-25 16:48
加油加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2