赞
踩
以下为github入门与实践的总结.
1.换行符处理:在windows中是以CRLF(carriage return +line feed)换行。
MAC或者LInux中是以LF(Line Feed)换行的,git会自动转换这些换行符。
2.git安装初始设置
(1)设置姓名和邮箱地址
git config --global user.name "name"
git config --global user.email "email@example.com"
(2)提高命令的可读性
将color.ui设置为auto可以让命令的输出拥有更高的可读性。
git config --global color.ui auto
3.创建账户后,添加SSH key ,将生成的公开密钥添加到github的ssh keys中,使用下面代码测试是否完成设置
ssh -T git@github.com
4.创建仓库不在介绍。
5.clone 已有仓库.这里需要输入github设置的公开密钥的密码,认证成功后仓库就能克隆到本地。
git clone git@github.com...skdfjh.git
6.提交
在本地进行操作后,需要将代码提交到仓库。
通过git add命令将文件加入暂存区,在通过git commit 命令提交。可以通过git log 命令查看提交日志。通过git push上传到远程仓库。
git add +某个文件名 //单个文件操作
git add . //增加全部文件
git commit -e "第一次提交代码。"
git push
git init //初始化仓库
git status //查看仓库的状态
git add //向暂存区中添加文件
git commit //保存仓库的历史记录 -m 简洁信息,想详细记录不要-m
git log //查看提交日志
git log --pretty=short //只显示提交信息的一行
git log README.md //加目录名只会显示该目录下的日志,如果是文件名就只会显示与该文件相关的日志。
git log -p //查看文件前后的改动。
git diff //查看更改前后的差别。查看当前工作树与暂存区的差别 输出文件中+表示添加行 -表示删除行
git diff HEAD //查看工作树与最新提交的差别。查看本次提交与上一次提交的差别。
8.分支操作
在进行多个并行作业是,会用到分支,并且往往同时存在多个最新代码的状态。可以等该分支程序完成后与主分支进行合并。
git branch //显示所有分支
git checkout -b //创建、切换分支,如果想以当前master分支为基础创建新的分支,可以用此命令
git branch A
git checkout A //这两行也能达到checkout -b 的效果。
git checkout master //切换到主分支
git checkout - //切换到上个分支
9.合并分支 把分支feature-A合并到主分支master
git checkout master //切换到主分支
git merge --no-ff feature-A //参数--no-ff为了在历史记录中明确记录下本次分支合并,创建合并提交。默认信息就是合并分支过来的相关内容。
10.以图表形式查看分支
git log -graph //用图表形式输出提交日志,非常直观。
11.回溯历史版本
在回溯A分支之前我们先创建一个B分支,在进行A分支的回溯,如图
git reset --hard 哈希值 //可以让仓库的HEAD、暂存区、当前工作树回溯到指定状态,哈希值各不相同。使用// Add index的哈希值
//哈希值只需要输入4位就可以
git log 只能查看以当前状态为终点的历史日志
git reflog 查看当前仓库的操作日志,在使用git reset --hard 进行回溯
只要git不行行GC(垃圾回收)都可以随意调取近期的历史状态。
12 消除冲突
当我们合并分支时出现冲突,就会提示README.md文件发生冲突,使用编辑器打开该文件,并把冲突修改为自己想要保存的文件,冲突解决后使用git add 和 git commit
git merge --no-ff fix-B
13.修改提交的信息
git commit -amend //对于已经提交的记录,可以通过修改其内容,保存,提交日志的信息就会发生变化
14.压缩历史
在合并时,如果发现已经提交的内容有些拼写错误,不防提交一个修改,然后将这个修改包含到前一个提交中,压缩成一个历史记录。
提交一个有问题的commit ,修改README.md,然后进行提交
git commit -am "fix typo" //漏字错字等失误统称typo。
15.更改历史
刚才的提交错误更改还是不够完美。因此将修正内容与前一次合并提交,在历史记录里合并作为一个完美的提交。
git rebase -i HEAD-2 //当前分支最新的两个最新历史记录为对象,在编辑器中打开。修改 后保存,
pick sdf78 Add feature-C
pick jksdjf5 fix typo
//将编辑器中的pick更改为fixup如下
pick sdf78 Add feature-C
fixup jksdjf5 fix typo
16.添加 远程仓库
git remote add origin git.... // 就可以将远程仓库设置为本地仓库
17.推送至远程仓库
git push -u master
//-u参数可以在推送的同时,将origin仓库的master分支设置为本地仓库当前分支的upstream上游,添加了这个额参数将来运行git pull 命令从远程仓库获取内容时,本地仓库的这个分支就可以直接从origin的maser分支获取内容,省去了另外添加参数的麻烦。
git checkout -b feature-D
git push -u origin feature-D
18.从远程仓库获取
git clone git@...
git checkouut -b feature-D origin/feature-D //新建本地分支,拉取指定远程仓库
git pull origin feature-D //获取最新远程分支
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。