重新认识Git 与 GitHub
Git是这款完全免费、开放源码的分布式系统管理工具系统Github是用Git做管理工具的标识符代销网络平台
Github是两个用Git做管理工具的工程项目代销网络平台。
GitHub是两个完全免费代销开放源码标识符的远距库房。但对这类视源码如心灵的商业性子公司而言,既不该申明放源码码,又不忍心给GitHub交钱财,那就根本无法他们构筑两台Git伺服器做为专有库房采用。
加装git
优先选择他们的作业系统相关联的git版本加装,加装获得成功后运转git version后,输入git版则加装恰当。git 非官方:https://git-scm.com/downloads
实用性使用者重要信息
采用git config指示来实用性使用者名和电子邮箱
git config –global user.name “hoganbin”
git config –global user.email [email protected]假如用了 –global 快捷键,所以更动的实用性文档是坐落于你使用者主目录下的这个,之后你大部份的工程项目单厢预设采用这儿实用性的使用者重要信息。假如要在某一某一的工程项目中采用其它英文名字或是邮件,如果拿掉 –global快捷键重新实用性方可,捷伊预设留存在现阶段工程项目的 .git/config 文档里。
采用git config user.name和git config user.email来检查和与否获得成功,也可以直接用git config –list来列出全部git实用性重要信息来查看
采用 Git 和 GitHub 步骤:
提前推荐个软件,你在用的:Typora。
先实用性 SSH(两个协议)。请看演示
电脑 Git Bash:ssh-keygen -t rsa 过程中,回车方可。
打开github–> setting –> SSH,添加 SSH public 文档内容。测试下:ssh [email protected]看到:You\\ve successfully authenticated 表示获得成功。
可以采用 Git 指示玩了。是这么简单。经常用的指示是如下几个:
git status 查看本地库房状态
git add . 添加大部份改动到暂缓区,git add a.txt 这是添加a.txt单个文档
git commit -m “你的注释说明”
git push 提交到GitHub
git add .:监控工作区的状态树,此指示会把工作时的大部份变化提交到暂存区,包括文档内容修改(modified)以及新文档(new),但不包括被删除的文档。
git add -u:他仅监控已经被add的文档(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文档(untracked file)。(git add –update的缩写)
git add -A :是上面两个功能的合集(git add –all的缩写)
如何使用 Git 提交他们的文档到 GitHub?
1. 优先选择库房的 ssh 的地址 2. 克隆(下载),比如:git clone [email protected]:mathflow/LaTex_Notes.git可以看到克隆下来后有个.git 后缀隐藏文档,即为记录本地库房的一切改动。 3. 切换到库房目录 4. 修改 5. git add . 6. git commit – m “注释说明” 7. git push 提交到远距伺服器GitHub 注:随时可以采用 git status 查看库房状态。另外,git branch -a 查看和 远距伺服器关联情况。 这个期间应该会要求你实用性下name和email的,你这儿肯定是你之前已经实用性过了。删除文档
操作包含:
创建新文档file1.txt
git rm 删除file1.txt文档
status 查看修改的内容
commit 把索引提交到本地分支
tip1: 假如没有用git rm删除文档,在本地删除文档后,git add一下再提交可以达到同样的效果
tip2: 要是你加班太晚,头晕不小心删除了不该删除的文档怎么办?
拉标识符
方法一 pull
上图指示:
git pull
查看本地仓库变化git log
可以看到向远距库房pull的时候,出现了两个捷伊commit,commit 7b54a8ae74…的提交重要信息为Create share_file.txt,另两个commit fdbb19cf4c51770的提交重要信息为Merge branch \\master\\ of github.com:pzqu/git_test。事实上主线只有两个提交,为什么会出现这种情况? 是因为pull其实会做两个操作
拉远距库房标识符到本地
自动与现阶段分支合并并生成两个合并获得成功的提交
注意这儿的第二个个步骤假如远距有人和你改了同两个文档就会出现两个冲突,这个时候git会提示你哪些文档有冲突,手动改了再提交一次就可以了。详情见合并冲突
方法二 fetch
在远距修改了文档,向share_file.txt加了一行内容tom modify,此时拉标识符。
有以下两个操作
fetch 拉取远端标识符到本地
rebase 把本地标识符提交基于远端分支重新replay
git log所输入的提交内容,刚刚pull的时候忘记把pull自动产生的merge提交到远距,rebase的时候把本地的提交放到了远距提交之后,看起来就是一条直线,比较优雅,也是推荐的方式。
Git 分支操作
创立分支 test git branch test
切换到分支 test git checkout test
在分支下操作
切换到 test 分支 git checkout test
添加内容到暂存区 git add chapterx.tex
提交到本地库 git commit -m “commit msg”
提交到远距 test 分支 git push origin test
更新主分支内容
切换到主分支,git checkout master
拉取主分支最新内容 git pull
添加到暂存区 git add files….
提交到本地库 git commit -m “commit msg”
提交到远距 master 分支 git push origin master
合并主分支更捷伊内容 有时候,主分支更新了内容,这时候想要把主分支的内容合并到 test 分支下:
切换到 test 分支,git checkout test
合并主分支,git merge master
提交合并之后的 test 分支内容到远端 test 分支 git push
注:为了让本地 test 分支能够 pull github 上的 test 分支的内容,需要设置远端分支。
git checkout testgit branch –set-upstream-to=origin/test在 push 的时候假如出现问题,按提示操作(merge 或是 set-upstream)。
漏提交
有时候会碰到我们已经commit但有修改忘记了提交,想把他们放在刚刚的commit里面,这种时候怎么做呢?
git log –name-status:查看文档提交日志只有`time.txt
git status
git commit –amend –no-edit:采用git commit –amend –no-edit合并到上两个提交里,假如不加–no-edit参数的话,会提示你来修改commit提示重要信息(这个指示也可以用在重复编辑commit message)。
git log –name-status –pretty=oneline -1:查看日志,合并提交获得成功!
tag标签
创建两个tag
标签是两个类似于快照的东西,常常用于测试和发布版。所以我们常常把tag名以版号来命名,比如:v1.0beat1这样我们怎么创建标签呢?首先先切换到想打标签的分支,然后直接打就可以了。
git branch dev/hoganbin/master:切换到想打tag的分支
git tag -a release_v1.0 -m “release v1.0″:创建名为release_v1.0带有重要信息release v1.0的tag
git tag release_v1.1:创建的不带有tag的提交重要信息的release_v1.1
git tag:git tag查看tag`
git push –tags:推送本地全部`tag
也可以推送单个tag
$ git push origin release_v1.1 Total 0 (delta 0), reused 0 (delta 0) To github.com:pzqu/git_test.git * [new tag] release_v1.1 -> release_v1.1引用
git官网
廖雪峰的非官方网站-git篇