首页 > 代码库 > git使用(上)------基本的方法
git使用(上)------基本的方法
- git应该是一项必须要掌握的工具.先简述它和SVN的区别
- SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了.
- Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上.既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了.
- 配置文件
- 查看配置的方法
-
1 git config --list
-
- 用户名和邮箱地址的作用
- 用户名和邮箱地址是本地Git客户端的一个变量,不随git库而改变。
- 每次commit都会用用户名和邮箱纪录。
- github的contributions统计就是按邮箱来统计的。
- 查看用户名和邮箱地址:
1 git config user.name 2 git config user.email
- 修改用户名和邮箱地址:
-
1 git config --global user.name "username" 2 git config --global user.email "email"
- 查看配置的方法
- 基本使用
- git中文件的各个状态
- unstaged - git仓库中没有此文件的相关记录
- modified - git仓库中有这个文件的记录,并且此文件当前有改动
- staged - 追加,删除或修改的文件被暂时保存,这些追加,删除和修改并没有提交到git仓库 -------暂存区
- commited - 追加或修改的文件被提交到本地git仓库(git仓库中大部分都是这种文件,所以git status不显示这些文件)-----仓库
-
- 初始化一个仓库 : git init (当前文件夹下生成.git目录,完成初始化,此时此文件夹下的所有文件处于unstaged状态)
- 追加文件
-
1 git add filename # 将工作文件修改提交到本地暂存区 2 git add . # 将所有修改过的工作文件提交暂存区
-
- 提交到版本库
-
1 git commit -m "your_index"
-
- 管理修改
- 要随时掌握工作区的状态,使用
git status
命令。 - 如果
git status
告诉你有文件被修改过,用git diff
可以查看修改内容。
- 要随时掌握工作区的状态,使用
- 撤销修改
- 放弃工作区的修改------让这个文件回到最近一次git commit或git add时的状态。已经添加到暂存区的执行后恢复到添加到暂存区的状态
1 git checkout -- filename
- 将暂存区的修改撤销掉--------执行完后记得工作区的修改并未执行,应该继续按上一条命令修改工作区
1 git reset HEAD filename
- 放弃工作区的修改------让这个文件回到最近一次git commit或git add时的状态。已经添加到暂存区的执行后恢复到添加到暂存区的状态
- 删除文件
- 误删了工作区的文件
git status
命令会立刻告诉你哪些文件被删除了,接着使用1 git checkout -- filename
git checkout
其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”
- 确实要删除文件. 版本库中删除该文件,那就用命令删掉,并且git commit:
1 git rm <filename> 2 git commit -m "your_index"
- 误删了工作区的文件
- 版本回退
- 回退回上一个版本
1 git reset --hard HEAD^
- 在Git中,用HEAD表示当前版本,也就是最新的提交3,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100.
- 另一种方法是使用commit id. 使用命令 git log 查看历史记录 , 获取前面的一大串类似3628164...882e1e0的是commit id(版本号)
- 使用命令进行任意版本的切换
1 git reset --hard commit_id
- 穿梭前,用
git log
可以查看提交历史,以便确定要回退到哪个版本。 - 要重返未来,用
git reflog
查看命令历史,以便确定要回到未来的哪个版本
- 回退回上一个版本
- 远程仓库
- 由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要进行设置
- 创建SSHkey
- git中文件的各个状态
- 远程仓库
- 分支管理
git使用(上)------基本的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。