安装及使用git

git:最常用的分布式版本控制系统,要使用git应该首先在官网下载git,然后可以打开git bash进行操作。
一、设置姓名邮箱

  • $ git config --global user.name “Your Name”
  • $ git config --global user.email “email@example.com”

二、工作区和版本库

**工作区:**电脑上看见的目录或文件
版本库:.git目录(其中有stage暂存区,git为我们创建的第一分支master,指向master的指针HEAD)

提交文件步骤:文件添加进暂存区,暂存区内容提交到当前分支

三、创建版本库

1、创建本地仓库:
在需要创建目录的文件夹下,可以自己手动创建目录然后git init将其初始化为一个git本地仓库,或则用mkdir命令创建目录,还可以直接用git init [仓库名]新建一个仓库。

  • git init : 这个目录变成git可以管理的仓库,这个目录内会增加一个.git文件夹,是本地git仓库的配置文件

**附:**用命令行进行文件路径选择和创建目录等基本操作:

  • 盘名: : 若当前路径在C盘,要改变路径在D盘,则需要先输入D:改变到D盘下,再选择路径
  • cd 绝对路径/当前目录下的路径名: 在当前盘符下转向指定路径
  • mkdir [dirname] : 在当前目录下创建一个新的文件夹
  • pwd : 显示当前路径
  • …/ : 上层目录
  • ./ : 当前目录

2、提交文件到版本库的两步

  • git add readme.txt //readme.txt(某文件)添加到暂存区

  • git add . //将所有文件添加到暂存区

  • git commit -m “修改的内容”//提交到版本库

  • git status //查看当前文件夹文件状态,是否有文件未提交

  • git diff //文件修改了什么

四、版本回退

查看修改历史,由近到远
git log
git log --pretty=oneline(横排显示)
git reflog  //查看版本号
git reset  –hard HEAD^       //回退上一个版本
git reset  –hard HEAD^^    //回退上上个版本
git reset  –hard HEAD~100  //回退前一百个版本
cat readme.txt                       //查看内容:

注:
1、不能使用https://github.com/yiy-curtain/newTest,这是用的https而不是git,需要输入用户名密码
2、远程repository和我本地的repository冲突导致的,push前先将远程repository修改pull下来,git pull origin master

五、删除和撤销删除

撤销修改
git checkout – file//撤销在工作区还没有存入暂存区的修改
删除文件
rm test.txt//删除文件夹下文件
git commit -m “”//彻底删除
git checkout – test.txt//版本库里恢复文件,若提交了删除则恢复只有名字

六、远程仓库

ssh-keygen -t rsa -C "email@qq.com"
github添加SSH Keys
ssh -T git@github.com //测试你的ssh-key

github创建新的仓库
git remote add origin git@github.com:yiy-curtain/newTest.git

git push -u origin master   ( git push origin master )

git clone git@github.com:yiy-curtain/testgit2

1、创建ssh key:
ssh-keygen -t rsa -C “email@qq.com”
2、登录github,打开” settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴id_rsa.pub文件的内容

3、Create a new repository创建新的仓库
4、本地仓库的内容推送到GitHub仓库

5、推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
git push -u origin master//推送本地master分支并将本地master分支和远程master分支关联起来

克隆远程仓库,在需要克隆库的文件夹下执行
git clone git@github.com:yiy-curtain/testgit2
cd testgit2 进入该文件夹
ls

七、分支操作

分支管理策略:一般在新建的dev分支上干活,分支代码稳定后发布到master主分支上,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,现在我们来使用带参数 –no-ff来禁用”Fast forward”模式

  • git checkout -b dev 创建+切换分支
  • dev git branch dev 创建分支
  • git checkout
  • dev 切换分支
  • git branch -d dev 删除分支
  • git merge dev 合并分支dev到当前分支
  • git branch 查看分支,会列出所有的分支,分支前面会添加一个星号 git log 查看分支合并情况

bug分支
git stash 把当前工作现场“储藏”起来
git checkout master 切换到需要修复bug的分支

git checkout -b issue-101 创建临时分支,修复bug101,提交
git add readme.txt
git commit -m “fix bug 101”

git checkout master返回分支,合并bug修复分支,删除bug修复分支
git merge --no-ff -m “merged bug fix 101” issue-101
git branch -d issue-101

git checkout dev返回工作的分支
git status 工作区是干净的
git stash list 查看隐藏的列表

恢复隐藏内容:
git stash apply 恢复
git stash drop 删除

git stash pop 恢复并删除
git stash apply stash@{0} 多次隐藏,恢复指定stash

每添加一个新功能,最好新建一个feature分支,在上面开发,完成后,合并,最后,删除该feature分支
git checkout -b feature-new
git add hi.txt
git commit -m “add feature new”
git checkout master
git merge --no-ff -m “merged feature-new” feature-new
git branch -d feature-new
git branch -D feature-new//没合并之前强行删除

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

git remote 查看远程库信息
git remote -v显示更详细的信息,显示了可以抓取和推送的origin的地址
git push origin master(分支名)本地分支master推送到对应的远程分支上去
git push origin dev
master分支是主分支,因此要时刻与远程同步;

dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;

feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发

git checkout -b dev origin/dev创建远程origin的dev分支到本地

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值