git基本操作:
git两大特性:
- 分布式:(不同于集中式,服务器挂了,主机上也无法操作)从一台服务器拷贝到本机,修改后上传回服务器。
- 版本控制: 多人同时开发
git安装:
sudo apt install git
注:git可以帮助管理某一目录下的代码
git使用步骤:
-
创建一个目录 git_test,在目录下创建一个版本库
-
在目录下创建文件 code.txt
-
git add code.txt (加入code.txt)
-
git commit -m ‘版本1’ (创建版本信息,后面 -m ’ ’ 为说明)
-
git log 查看版本信息
-
git log --pretty = oneline
-
git status 查看最近的文件变更(查看状态)
版本的回退: -
命令:git reset hard ‘版本号’
HEAD 指针指向当前版本,HEAD^ 等价于 HEAD~1 都是指向上一个版本,HEAD ~100回溯到上100个版本
如:git reset hard HEAD^ 回退至上个版本或 git reset hard ‘版本1’ 回退至版本1,'版本1’是 git commend -m 后面的注释信息
工作区:
电脑中的工作目录,如上述的 git_test 就是一个工作区
版本库:
工作区中的 .git 隐藏目录就是
- 在创建 git 版本库时会自动创建唯一一个 master 分支,最重要的是称为 stage 的暂存区 以及一个指向master分支的指针HEAD
- 可以创建或修改多个文件在工作区,然后一起通过 git add 打包至暂存区,然后通过 git commit 创建版本记录,文件之间通过空格连接即可.
管理修改:
git 只管理在暂存区的文件,如果文件在通过 git add 放入暂存区后再修改,并在修改后没有通过add上传,创建版本后,内容将只保存修改之前的内容
撤销修改:
git checkout – file (file即刚刚修改的文件)
对比不同文件:
git diff HEAD HEAD^ – file (file为要对比的文件,HEAD和HEAD^可自行选择不同版本)
删除文件:
- 总的来说就是前面加 git ,如: git rm
分支管理:
创建与合并分支:
git把我们之前每次提交的版本连成一条时间线,这条时间线就是一个分支。截止到目前只有一条时间线,在git里,这个分支叫主分支,即matter分支。READ严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支.
- git branch :查看一共有多少分支
- git checkout -b dev :创建一个分支dev并切换到其上工作
- git merge dev :将dev分支与master分支合并
当遇到两个分支都修改同一个文件,又要合并分支时,会提示冲突,这时只要手动修改文件,并将其保存即可
分支管理策略:
BUG分支:
- git stash :保存工作现场
- git stash pop:转到保存的工作现场
github使用:
- vi .gitconfig :配置git
克隆项目:
- git clone +克隆地址
上传分支:
在本地分支上更新信息后通过 git push 指令可以直接将本地分支上传至github