GitHub学习

这是根据廖雪峰老师的git教程链接学习后的一点学习记录


系统:Ubuntu Kylin14.04


一.Git安装

1.~$:sudo apt-get install git

2.~$:git config --global userName "Your Name"(mine is willyon)

   ~$:git config --global userEmail "Your Email"
(--global参数表示该电脑上所有Git仓库都会使用这个配置)

二.创建版本库

1.新建“仓库”(即新建一个目录)

  ~$:mkdir Yourdir

2.进入“仓库”

  ~$:cd Yourdir

3.把该“仓库”初始化为Git能够管理的“仓库”

  ~/Yourdir$:git init(此时在当前仓库目录下,会生成一个.git文件。该文件的存在起到版本控制的作用)

三.尝试提交一个文本文件

1.在“仓库”内新建文本文件

  ~/Yourdir$:vi filename

2.添加文本文件到git仓库“暂存区”

  ~/Yourdir$:git add filename

3.将“暂存区”的git文件提交到git库

  ~/Yourdir$:git commit -m "explanation message"(这里的 -m "explanation message"内容自己决定,作用可理解为提交说明,不写也可,不过没有这个提交说明的话,日后维护起来会比较困难,因此不建议不写)

4.将git库内容推送到远程github
~/Youredir$:git push -u origin master (这里的 -u 在仓库第一次远程推送时需要加上,以后都可以省略了。它的作用是将本地master分支与远程master分支关联起来。


四.版本修改相关指令

1.查看当前文本文件状态(修改情况)

  git status

2.查看修改后的文本文件与修改前的不同之处

  git diff

3.查看当前文本文件的修改日志

  git log [--pretty=oneline](此为可选参数)

4.回退到上一个文本文件状态

  方法一.git reset --hard HEAD^ (再上一个则用HEAD^^表示,以此类推,如果往前追溯num代,择可以用HEAD~num表示)
  方法二.a. git log [--pretty=oneline] (显示修改日志,一代文件都有唯一一个16进制40位的commit id)
         b. git reset --hard id(取其前4 5位数即可)
    或者 a. git reflog (同理,不过这时只显示id数前7位)
         b.git reset --hard id(同上)

5.撤销工作区的修改

  git checkout -- filename(该命令只对工作区的修改有效)

6.撤销暂存区的修改

  git reset HEAD filename(该命令把已存放到暂存区的修改撤回工作区,然后用上一条工作区的修改命令,即可修改)

7.删除文件

  git rm filename(在工作区删除文件)
  git commit -m "explanation message"(让工作区与版本库同步一致)

8.撤销文件删除

  git checkout -- filename(没错,这条命令与第5条一样,因为文件删除也是一种修改。其实 git checkout 命令,是用版本库里的版本替换工作区的版本,所以只要版本库的版本还在,无论工作区是修改还是删除,皆可还原)

9.查看当前分支

  git branch

10.合并分支到master上

  git merge branchname(这是合并快进模式,有冲突时(例如当master与branchname同时都有提交时,就会显示有冲突),需要手动修改文本本件冲突,然后在提交即可)

11.删除分支

  git branch -d branchname

12.合并分支到master上(禁用Fast forward模式,这样删除分支后,可以从分支历史查看分支信息)

  git merge --no-ff -m "merge with no-ff" branchname

13.储藏工作现场

  git stash

14.查看储藏区详情

  git stash list

15.恢复工作现场

  git checkout branchname
  git stash pop

16.删除还未合并的分支

  git branch -D branchname

五.远程仓库

1.SSH

由于本地Git仓库与GitHbu仓库间传输是通过SSH加密的,故涉及私钥与公钥的使用。而公钥私钥是可以通过命令生成的。而钥匙是放在当前用户的.ssh目录下的,查看里面是否存在id_rsa与id_rsa.pub,如果存在,则不必再生成,若无,则执行以下命令:
~$:ssh-keygen -t rsa -C "Your Email"
命令输入后,一路回车即可,过程中不必输入任何内容


2.登陆GitHub账户点击:setting→ SSH Keys→ 将id_rsa.pub文件内容粘贴在Key文本框里(Title名字任意填)。然后点击"Add Key"


3.添加远程库
点击:Create a new repo → 起远程库名字 reposity →  Create reposity

4.将本地仓库与之关联
~/Yourdir$:git remote add origin git@github.com:userName/远程库reposity (origin为远程库名字,为习惯用法。当然也可以起其他名字)

5.本地库推送到远程
~/Youredir$:git push -u origin master (这里的 -u 在仓库第一次远程推送时需要加上,以后都可以省略了。它的作用是将本地master分支与远程master分支关联起来。)

6.从远程库克隆
~/Yourdir$:git clone git@github.com:userName/需要clone的库名字 (只能从自己的远程库中克隆。所以要克隆别人的项目,可以先Fork到自己的远程库下,再在本地clone)

六.分支管理
1.创建dev分支
~/Yourname$:git checkout -b dev(该指令=git branch dev;git checkout dev.创建dev分支,并转入该分支工作)


七.注意事项

1.git只commit已放入暂存区中的修改

2.一般是再分支dev上干活,作为开发线测试线,分支master作为合并线稳定线

3. .gitignore文本文件用于告诉Git,该文件里所描述的文件不必提交

4.git config --global alias.xxx XXX 此为配置别名命令

e.g. config --global alias.st status
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值