1.1 省略
1.2
本地 & 与他人合作
创建github账号
安装git
1.3
config:1
2user.name and user.email
git config --global color.ui auto
local > global > system
1.4 init
初始化 (本地)
1 | 已存在的项目进行版本控制 |
or1
2创建新项目
git init '项目名称'
初始(云端)
Create a new repository
1.5 Commit
对改动进行提交
三种方法:
1.命令行提交
1
2
3
4
5
6
7 > 相关命令(待实际测试)
> ls -la
> git status
> vi '文件名' (使用文本编辑器进行编辑)
> git add '文件名' (放入 *暂存区*)
> git commit -m '描述信息'
>2.Github.Com
3.Github客户端
1.6 Diff
查询所做的修改
相关命令:
1
2
3 > git diff
> # 查询未存档文件(工作树)的改动
>
1
2
3 > git diff --staged
> # 暂存区 与 已提交历史文件 的区别
>
1
2
3 > git diff HEAD
> # 工作树与最近一次提交相比较
>
1
2
3
4
5 > git diff --color-words
> git diff --word-diff
> git diff --stat
> # 标出修改位置/输出修改情况
>
1.7 Log
查询更新日志
相关命令:
1
2
3
4
5
6
7
8
9
10
11 > git log
> # 提交日志
> git log --oneline
> # 更新的简短概要(更新历程)
> git log --stat
> # 每次提交包含的文件及其改动
> git log --patch
> # 每次commit之间的改动(+/-,G/R)
> git log --graph
> # 图形化展示分支合并历史
>
以上命令可以组合使用,例如:
git log —graph —all —oneline
1.8 Remove
清理冗余数据
相关命令:
1
2
3 > git rm file
> # 删除文件 并在status中暂存删除状态
>
1
2
3 > git add -u .
> # 遍历工作目录,暂存可被删除文件的状态
>
1
2
3 > git rm --cached
> # 处理误提交文件
>
另外,也可直接删除文件,然后通过桌面客户端保存修改。
1.9 Move
移动文件
相关命令:
1
2
3 > git mv 旧地址 新地址
> # 如未使用git指令进行mv,需要先rm,再add。
>
1
2
3 > git add -A .
> # 发现当前目录所有新文件,并暂存保存状态
>
1
2
3
4
5 > git log --stat -- filename
> # 展示该文件的全部提交
> git log -M --follow
> # 添加参数,跟踪文件移动前的改动历史
>相似度(默认50%):如果超过阈值,则git会在移动中跟踪它,认为它是一个移动而不仅仅是一个删除和添加。
1.10 Ship of Theseus
关于版本控制的哲学问题。
CVS/企业/git
版本控制系统之间的差异。
1.11 Ignore
避免提交某些文件
相关命令:
1
2
3
4
5 > # 创建 .gitignore 文件
> touch .gitignore
> git add .gitignore
> git commit -m'描述信息'
>
1
2
3
4
5
6 ># 在 .gitignore 文件中添加忽略路径/名称
> 例如:
> .sass-chche
> *.log
> tmp/
>
1
2
3 > # 查询哪些文件被忽略了
> git ls-files --others --ignores --exclude -standard
>
1.12 Branch
关于分支
相关命令:
1
2
3
4
5
6
7 > # 创建
> git branch name
> # 删除
> git branch -d neme
> # 切换分支
> git checkout name
>
1.13 Checkout
切换分支及其他功能
相关命令:
git checkout name
切换分支
1
2
3
4
5
6
7 > # 查看更详细的commit
> git checkout '提交引用'
> # 删除该文件最近一次commit内容
> git checkout --filename
> # 创建并切换到新分支
> git checkout -b name
>
1.14 Merge
汇聚多个分支,合并commit
相关命令:
1
2
3 > # 将某支与当前分支合并
> git merge '有commit的branch'
>
1
2
3
4 > # 处理merge过程中的冲突
> 打开提示的冲突文件,然后查看由>>> === <<< 分隔表示出的冲突部分,手动解决冲突。
> 处理完毕后,使用 git add 添加到暂存区,再运行 git commit结束这一过程。
>
1
2
3 > # 暂时不处理冲突(清空工作目录和暂存区)
> git merge --abort
>
1
2
3 > # 汇聚某一分支所有commit
> git merge --squash '目标分支'
>
1
2
3 > # 完成合并后,删除分支
> git branch -d '分支name'
>
1.15 Network
网络相关操作
相关命令:
1
2
3
4
5
6
7
8
9 > # 创建remote
> git remote add 目标名称 完整url
> # 修改remote信息
> git remote set-url 目标名称 完整url
> # 移除remote
> git remote rm 目标名称
> # 查询remote信息
> git remote -v
>
1
2
3
4 > git fetch 目标名称
> # fetch操作
> # 在GitHub.com上抓取信息,放在remote分支里。
>
1
2
3
4 > git pull 目标名称
> # pull操作
> # 将GitHub.com的更新拉去到本地,然后合并。
>
1
2
3
4 > git push 目标名称
> # push操作
> # 将本地项目推送到GitHub
>
1.16 GUI
图形化用户界面
1.17 GitHub介绍
GitHub相关特点的一些介绍
1.18 Forking
将项目拷贝到仓库中,可安全的进行修改
1.19 Pull Requests
提交修改到其他代码库
开始编辑 让它更好
1.20 Reset
对历史commit的操作方式
相关命令:
git reset —mixed、soft、hard
1.21 Reflog
追踪对修改内容的修改
相关命令:
1
2
3
4
5 > git reflog
> # 可查看修改历史,并可通过哈希串恢复回历史节点。
> git reset --hard 哈希串
> # 切换回历史节点
>通过频繁提交,可保证代码安全,可随时进行恢复。
1.22 Rebase
将分支进行重定位
待实际操作
结束
看着官方视频,整理了一下常用的操作命令。
视频点这里:
GitHub&Git入门基础