Git快速入门
本地Git仓库基本使用
Git基本设置
添加、修改文件
就是先add到暂存区,然后commit到Git仓库
删除文件
移动(重命名)文件
$ git mv file_from file_to
本地仓库同步到远程仓库(重点)
一、将远程仓库克隆到本地
二、对代码进行各种操作
三、操作结束后先保存到本地克隆的仓库中
也即是git add <file>,然后提交git commit -m ‘描述’
四、确认无误则同步到远程仓库
推送:git push
但需要在./git/config文件中填入用户名密码才能成功
.gitignore文件好习惯
在项目中创建.gitignore文件忽略一些无需git管理的文件
# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf
其他命令
查看提交历史
$ git log
撤销操作
本次提交会完全代替上次提交
$ git commit --amend
取消暂存
如果CONTRIBUTING.md文件已经add,而你又想从暂存区给拉回来:
$ git reset HEAD CONTRIBUTING.md
同步暂存文件
是一个危险的命令。 你对那个文件在本地的任何修改都会消失。
git checkout -- <file>
为本地仓库添加远程仓库
git remote add <shortname> <url>
重新拉取
会将远程仓库中的文件相对于上次拉去或clone发生变化的重新拉取到本地:
git pull
Git仓库存储
Git仓库存储实质就是一个快照流:
每当你提交更新或保存项目状态时,它基本上就会对当时的全部文件创建一个快照并保存这个快照的索引。 为了效率,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。
分支概念
分支实质就是将项目从不同的方向进行发展
创建分支:
$ git branch iss53
通过命令切换操作分支:(也就是调整head指针)
$ git checkout testing
注:master和其他分支一模一样,只是个默认分支罢了
分支的合并
$ git checkout master
$ git merge iss53
遇到合并冲突: 两个分支对同一个文件进行了不同的修改