git github 学习笔记

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
有了他,再也不要一个文件夹一个文件夹的保存代码了。

安装git
mac中xcode自带git  、  Windows可以安装git客户端  、 Linux 利用apt get install git来安装

git关联你的github账号
因为git是分布式的,所以使用之前需要自报家门
git config —global user.name  “XXXX”
git config —global user.email  “XXXXX”

本地使用git
1. 初始化一个仓库                git init                           (先新建一个文件夹,切换到该文件夹下,初始化仓库即是将该文件夹作为管理的代码仓库)
    添加文件到仓库                git add <file>                (将文件添加到仓库里,可以是代码、文件。。。)
    使用命令完成                    git commit -m “说明”    (add只是将文件添加到暂存区,需要commit)
缓存区:每次修改后,git add是将修改添加到缓存区,而git commit是将缓存区的修改提交

2. git status                           告诉你文件修改状态
    git diff                                可以查看修改内容

3. 在我们的历史版本中穿梭
    git reset —hard commit_id    (commit_id 是一串数字,区分不同人的不同版本,可以通过git reflog查)
    git log                                       查看提交的历史版本
    HEAD指当前版本,HEAD^指前一版本
    git checkout —— file           回到最近一次 git commit或git add时
场景一:当改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,git checkout — file
场景二:当改了工作区的文件并添加到了暂存区时,想丢弃修改 1.git reset HEAD file回到场景一
场景三:已经提交了,git reset HEAD^ (没有推送到远程库)

4.  删除文件 
  • 删错了 git checkout — <file>            一键还原 
  • git rm 并且 git commit                       永久删除
5.远程仓库
   在本机 ssh-keygen -t rsa -C “emial”,生成秘钥,粘贴到github SSH那 
也可以通过ssh或者http上传,但ssh更快
   (这样做为了保证只有你这台设备可以上传,我可以登你账号邮件,但是不能上传)

   git remote add origin git@github.com:taibailaike/gitTest       关联本地与github
   git push -u origin master                                                       推送到远程,-u是第一次时加,以后只需git push origin master

6. 若先有远程库,从远程将程序克隆下来 
   git clone git@github.com:taibailaike/gitTest.git   然后你就得到了该程序,而且得到了该程序的git 仓库
  
7. 分支概念

每次提交都生成一个节点。

master为主分支
dev为分支的指针




8.  创建分支并切换
     git checkout -b newBranch=git branch newBranch 创建 + git checkout newBranch 切换 (-b是新建并切换)
     git branch 查看分支
     git checkout master 切到master(dev修改的内容看不到)
     git merge dev 将dev和当前分支合并
     git branch -d dev 删除分支
14.分支合并冲突(都修改了同一地方)
需要先手动解决冲突,再合并
git log —graph    查看分支合并图

9.  git merge —no-ff -m “baba”  dev
     —no-ff是不使用fast forward,合并后还可以看到曾经合并过


平时使用方式
1. 修复bug,我们需要创建新的分支,然后合并删除分支
    我们当前正在工作怎么办,先git stash(保存工作现场到别处),修复完bug后,git stash pop再回到工作现场

2. 开发一个新feature,跟修改bug类似,最好新建一个分支
    丢弃未合并过得分支 git branch -D <name>   D强行删除

3. 多人协作
    git remote -v 查看远程分支 origin代表远程
    git clone是将本地master跟远程master对应起来
    git push origin master/dev 推送分支
需要推送的分支:
    git clone git@github.com:taibailaike/lerangit.git 默认只能看到master分支
    git checkout -b dev origin/dev 存到本地后,切换到origin的dev分支
    冲突,在本地修改

因此, 多人协作的工作模式通常是这样:

首先,可以试图用git push origin branch-name推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

这就是多人协作的工作模式,一旦熟悉了,就非常简单。


4. 打标签
    git tag <name>                             打标签 ,默认是head,可以指定commit id
    git tag -a <tagname> -m “bala”    指定标签信息
    git tag                                           查看所有标签 

    git tag -d v0.1                               删除标签
    git push origin v1.0 push              标签到远程
    git push origin —tags push          所有标签到远程
    删除远程 先删除本地 git tag -d v0.9 再 git push origin :refs/tags/v0.9

5. github 使用
    在GitHub上,可以任意Fork开源仓库;
    自己拥有Fork后的仓库的读写权限;
    可以推送pull request给官方仓库来贡献代码






  本文内容是对以下链接课程的总结,更详细内容请戳这里
【here】 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值