前言
git是一个版本控制软件,作用是对文件进行版本管理,方便在不同版本进行切换修改,即,分布式版本控制工具。
0、分布式版本控制工具——git简介
分布式版本控制工具:分布式版本控制系统没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样工作的时候,就无需联网了,因为版本库就在自己的电脑上。多人协作只需要将各自的修改推送给对方,就能看到对方的修改了。
命令介绍
ls:查看当前目录
ll: 查看所有目录,包含隐藏文件
cat: 查看文件内容
touch: 创建文件
vi: vi编辑器
clone(克隆): 从远程仓库中克隆代码到本地仓库。
checkout(检出): 从本地仓库中检出一个仓库分支然后进行修订。
add(添加): 在提交代码前先将代码提交到暂存区。
commit(提交): 提交代码。
fetch(抓取):从远程仓库拉到本地仓库,不进行任何的合并动作。
pull(拉取): 从远程仓库拉到本地仓库,自动进行合并,然后放到工作区。
push(推送): 修改完成后,和团队成员共享代码,将代码推送到远程仓库。
一、安装过程以及配置
首先下载安装git:git下载.
配置用户名和邮箱:
在桌面空白处点鼠标右键选择“Git Bush Here” ,打开gitbush。
# 分布式版本控制系统,需要填写用户名和邮箱作为一个标识。 $ git config --global user.name "your_name" $ git config --global user.email "your_email@example.com"
# 查看用户名和邮箱 $ git config --global user.name $ git config --global user.email
检查是否配置成功:
$ git config --list # 主要查看用户名和邮箱是否正确,如果正确则执行下一步
注意事项:
# 需要检查是否电脑上生成过ssh文件,如果生成过,请先删除.ssh文件,位置在C:\Users\Administrator\.ssh
生成密钥对:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
复制密钥文件到GitHub上:生成密钥对后,文件夹中会生成两个密钥文件,打开id_rsa.pub,文件位置在C:\Users\Administrator.ssh,将文件内容全选复制,准备粘贴到github上。(id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。)
登录GitHub:登陆github,点击右上角头像,选择Settings,选择SSH and GPG keys,点击“New SSH key”,将复制的密钥内容粘贴进Key的输入框,title看自己心情。
欧克,安装完成!
最后: 配置完使用命令的第一步是初始化,即git init。
二、git常用命令
2-1、基本命令:
1. git init 初始化git仓库,新建.git目录,把这个目录变成git可以管理的仓库。 2. git status 查看状态,即查看哪些文件没有被提交。 3. git add file1 file2 将文件提交到暂存区 4. git rm --cached file 删除暂存区中的文件 5. git mv test/file.config . 文件的移动删除(提交到暂存区) 6. git commit -m 'some message' 将暂存区的内容保存提交 7. git log 查看提交日志 8. git log --pretty=oneline 每个日志只显示一行 9. git diff file 查看当前文件和已经提交内容的差别 10. git diff file 查看当前文件和已经提交内容的差别 11. git checkout -- file 找回之前版本,即使rm删除也能找回
2-2、版本控制:(假设已经commit好多次)
1. git reset --hard HEAD^ 回退到一个版本之前,^为几就是几个版本 2. git reset -- hard [commid] 通过commid回退到任意版本,前7位即可 3. git reflog 查看之前的操作,根据commid再回退到任意版本 4. git tag v1.0 -m '标签说明' 开发中重要的版本commit后做打标签处理,记录下 5. git tag v0.9 [commid] 对之前commit过的版本进行重新打标签 6. git reset --hard v1.0 回到v1.0标签状态 7. git tag 查看标签 8. git show v1.0 查看标签的详细信息 9. git tag -d v1.0 删除标签
2-3、工作区选择:(假设工作区有3种方案,再其中任意切换选择)
1. git stash save '第几种方案' 工作区封存 2. git stash list 查看封存的工作区 3. git stash apply stash@{n} 选择指定方案后续add,commit操作 4. git stash drop clear 删除所有方案
2-4、分支命令:(注意冲突管理)
1. git branch 查看所有分支 2. git branch dev 创建一个叫dev的分支 3. git checkout dev 切换到dev分支 4. git merge dev 合并dev分支到当前分支,快速合并 5. git branch -d dev 删除dev分支(合并后才可删除,没合并用-D删除) 6. git branch -D dev 强行删除分支
2-5、远程仓库:
# 初始化本地库,与已创建的远程库进行对接 1. git remote add (远端名称,默认是origin) (仓库路径) git remote add orign master # 查看远程仓库列表 2. git remote: # 找到文件的ssh地址,开始克隆。git clone ssh地址 3. git clone ... 克隆远程项目到本地 # 推送到远程仓库 # 如果远程分支名和本地分支名称相同,则可以只写本地分支。 4. git push -u origin master 向远程仓库推送代码(注意:第一次推送代码加-u选项) # 推送到远端的同时并且建立起和远端分支的关联关系 # 远端名称:origin # 本地名称:master git push --set--upstream origin master # 如果当前分支已经和远端分支关联,则可以省略分支名和远端名 git push 6. git push origin --tags 推送所有标签 7. git push origin v1.0 推送指定标签 8. git push -u origin : 远程分支名称 9. git push origin --delete tag v1.0 删除标签 10. git fetch origin 获取新的分支和标签 # 拉取远程代码并且合并。 12. git pull remote_name branch_name 13. git remote -v 查看远程连接 14. git remote rm (远程连接名) 删除远程连接
2-6、实际工作中git常用命令
git add file1 file2 将文件提交到暂存区。 git commit -m 'some message' 将暂存区的内容保存提交,后边的是注释的内容。即把暂存区的内容提交到当前分支上。默认的第一个分支是master。 之后可以用命令 git status 查看状态,即查看哪些文件没有被提交。(如果已经提交过的文件在本地被修改了,那么status状态会显示异常) # 更改过文件后,可以使用 git diff filename 查看当前文件和已经提交内容的差别 # 文件修改之后,使用命令来进行提交 git commit -m '更改了许许多多的内容' # 查看日志,只可以看到最近三次提交。 git log # 版本回退 git reset --hard HEAD^ (回退到前一个版本) # 回退到前一百个版本 git reset --hard HEAD~100 # 查看回退后的文件内容 cat filename # 与已创建的远程仓库对接。 git remote add (远端名称,默认是origin) (仓库路径) git remote add origin 路径 # 需要先拉取远程分支 git fetch origin 获取新的分支和标签 # 切换分支 git checkout 分支名 # 创建并且切换分支 git checkout -b 分支名 # 合并分支 # 首先切换分支到master git merge ll # 把ll分支合并到master上。 # 先将远程项目克隆到本地 git clone
三、其他知识
3-1、修改常用指令的名字
# 创建文件 .bashrc,要在目录C:\Users\Administrator\下创建。 touch ./.bashrc # 部分Windows系统不允许用户创建点号开头的文件,也可以执行这条命令 touch ~/.bashrc # 在bashrc中输入以下内容 # alias :关键字; ll:别名; ls -al:完整命令; alias ll='ls -al' # 输入完成之后使用source来使其生效 source ~/.bashrc
3-2、获取本地仓库
要使用Git对版本进行控制,首先需要获得本地仓库。
1、在电脑任意位置创建一个空目录
2、进入目录中,右键打开Git bash窗口
3、执行命令git init
4、如果创建成功后可在文件夹下看到隐藏的.git目录。
3-3、git add和git commit的区别
git add: 工作区-》暂存区 git commit:暂存区-》本地仓库 # 把所有文件添加到暂存区 git add .: # 提交文件 # 单引号内是描述语句。 git commit -m 'add 文件名' # 使用git log可以查看提交日志。 git log # 查看树形日志 git log --pretty=oneline --abbrev-commit --all --graph
3-4、分支
使用分支意味着可以把工作从开发主线上分离开来进行新功能的开发,而不会影响开发主线。
# 查看分支 git branch # 创建分支 git branch 分支名 # 切换分支 git checkout 分支名 # 创建并且切换分支 git checkout -b 分支名 # 合并分支 # 首先切换分支到master git merge ll # 把ll分支合并到master上。 # 删除分支,但是需要做各种检查 git branch -d 分支名 # 强制删除分支 git branch -D 分支名 # 不能删除当前分支
参考文章:
总结
好累噢,腰酸背痛。