Github使用笔记

Github使用笔记
   本文只是个人使用过程中的一点总结,留着以后忘了看,所以有写的乱或者看不懂的地方,请留言,我定当全力解答。
   
先说下工作区和暂存区区别:
     工作区就是你的工作目录,暂存区就是一个版本库和工作区的过渡区域
     git add是加到暂存区的,git commit是从暂存区到版本库的。所以git跟踪的是修改,而不是文件
github的安装
     Linux:sudo opt -get install git
     macos:Xcode插件
     windows:msysgit或者去github官网下载
常用命令:
     创建目录,进入该目录 git init
     git add filename   ——添加文件到版本库
     git add -A            ——添加该目录下所有文件到版本库(不能添加空目录)
     git commit -m 'description' ——提交到版本库,并附加提交信息
     git status  ——查看仓库状态
     git diff    ——查看具体在文件和版本库之间改变了什么
     git log   ——显示由近到远的提交日志
     git log  --pretty=oneline   ——分行显示log(更人性化)
     HEAD表示当前版本  HEAD^表示上一个版本
     HEAD^^表示上上版本
     HEAD~100表示上100个版本
     回退到未来之前某个版本:git reset --hard HEAD^
                                            git reset --hard 版本号(前几位就行)
     git  reflog  查看命令历史,以便回到未来的版本
     git log      查看提交历史,以便回到历史的某个版本
撤销修改
  1.    还没加到暂存区,用git checkout --filename
  2.    已提交到暂存区,还没commit,第一步git reset HEAD filename,第二步按照1操作
  3.    已经commit, git reset --hard HEAD^(版本回退)
文件删除
     在工作目录里随便删,不影响版本库,想想也是。想删版本库里用 git rm <filename>,再commit
     如果在工作区中误删,可以git checkout -- <filename>


远程连接前的准备,创建SSH key并添加到需要上传的github账户上,因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
远程连接版本库
    git remote add origin git@github.com:yourname/yourgitname     ——配置远程连接设置
    git push  -u origin master   ——第一次推送到服务器端版本库的时候用
    git push origin master    ——以后用这条就行
    git remote rm origin   ——删除远程连接设置
    git clone  地址          ——克隆远程项目(支持https协议和ssh)
git分支:
   本地分支
     增加:git branch bname
     删除:git branch -d bname
     修改:git  branch -m bname1 bname2
     查看:git branch
     切换:git checkout bname
  远程分支
     查看:git branch -r
     删除:git push origin :bname   (分支前的冒号表示删除)
     修改:删除远程分支,更改本地分支,推送本地分支
     添加:
              ① 再本地创建分支
              ②切换到新分支(git checkout -b bname创建并切换)
              ③推送新分支 git push origin bname    
  远程链接信息:
     查看:git remote 或者git remote -v
     添加:git remote add bname git@github.com:yourname/your project
               远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
     删除:git remote rm bname
     修改:直接删除再添加更方便
  对分支的操作
    合并分支:git merge bname
    推送本地分支到远程版本库:git push origin(远程链接名)bname(远程分支名)
    本地同步远程:
           ①git pull remote bname 
           ②git pull  -X theirs -remote bname  强制远程覆盖本地
标签(一般一个版本一个标签)
   新建:git tag tname
   查看:git tag或git show tname
   删除:git tag -d tname
   推送:git push origin tname


冲突解决办法
场景描述:  仓库有个index.txt文件  A同学修改后提交到远程库develop分支,B同学也修改了,打算提交到远程库develop分支,这个时候会提示冲突,需要手动解决冲突后在push,
解决办法:
1.git fetch origin  //把远程所有库下载到本地
2.git checkout -b aaa origin/develop     //本地创建远程库A同学版本 aaa
3.git merge develop(本地你的最新分支)
提示不能自动合并,需要手动合并
手动修改冲突的文件
4.git add -A 
5.git commit -m" "
6.git push origin develop 就不会提示push冲突了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值