从0开始学Git——Git的常见操作
Git常用命令
创建Git版本库
git init [目录]#创建目录版本库, 不写的话是当前目录
该命令会在目录中创建一个名为.git的隐藏目录
文件提交
- 添加文件:
git add 文件名 #添加到下次commit提交的文件
已经管理过的文件可以使用 git add -u提交代码,这样就不用再写文件名了
git status #使用 git status检查状态:
On branch master
No commits yet
Changes to be committed
-
提交的代码
git commit -m '注释' # 提交目录下的所有add的代码
使用 git log 可以查看提交的记录
查看状态
git status
git diff 文件名 # 查看被修改改的行,
变更文件名
有这样一个需求我们需要把test.txt改成test.md提交:
执行git commit
报一下错误:
On branch master
Changes not staged for commit:
deleted: test.txtUntracked files:
test.mdno changes added to commit
意思是先要把test.txt删除,然后再提交test.md
方式一:
-
提交更改后的文件
git add test.md
-
删除老文件
git rm test.test
方式二 :
git mv test.txt test.md # 这种方法给简单
查看git状态:
git status
On branch master
Changes to be committed:
(use “git reset HEAD …” to unstage) renamed: test.txt -> test.md
意思为test.txt重命名为test.md
查看历史记录
使用命令查看:
git log [--oneline] # 简洁的看历史记录
–onelline : 简洁的查看历史记录
-n数字: 查看最近的历史记录
–all : 查看所有版本分支的版本历史
–graph: 查看整个仓库
查看详细信息:
git show commit号 # commit号可以是一部分
从本地仓库中撤销代码
- 撤销已提交的代码
git reset --soft HEAD #撤销已经commit的代码
–soft 比较柔和的撤销
HEAD 撤销最近一次提交, 也可以这样写:HEAD~1
-
将文件移出暂存区
git reset HEAD 文件名
这个撤销请谨慎使用, 因为你可能把别人的代码删掉
- 取消add的代码
git checkout — .\test.md
使用图形化界面查看
gitk # 在工作目录执行
删除文件
先删除本地文件
再使用命令:
git rm 文件名
git commit -m '删除多余文件'
忽略配置文件
在仓库根目录创建 .gitignore文件
在里面配置: *.txt
分支
git branch 分支名称 #为当前提交创建分支
git branch 分支名称 commit hash#为指定前提交创建分支
git branch #查看分支
git branch -d 分支名称# 删除分支
git checkout 分支名称 #切换分支
git checkout -b 分支名称 #创建并切换分支
git checkout master #切换到主干
git merge 目标分支 #将目标分支合并到当前所在分支
注意切换分支前要先commit修改
将代码推到远程仓库
git push -u origin master# 将本地master分支传递到远程master上
origin 指GitHub
从远端获取代码
git clone git@github.com:liuyanqing1023/xcEduService.git
协同工作需常用的命令
- commit, 提交代码
- pull,更新代码
- push,往远程推送代码
git目录
git仓库里有个.git文件夹
HEAD 存放当前仓库正在工作的分支
refs
heads : 分支
tags : 标签给commit打标签
objects : 放的是对象
切换分支命令: git checkout master
Git对象直接的关系
有三种对象: commit, tree blob
一次提交就是一个commit
提交的树形文件夹叫做tree
文件叫做blob, 只要文件名想通就是一个blob
-
设置仓库级别的配置:
#设置仓库级别的配置,当然这个配置不是必须的 git config --local user.name 'admin01' #设置用户名 git config --local user.email '395994482@qq.com'#设置email #在仓库中使用: git config --local --list 检查是否创建成功
配置的原则是,范围小的有限范围大的
历史库和暂存区
执行 git add files 把代码放到待提交列表(暂存区)
执行 git commit 把代码放到本地仓库(工作区)
执行git push把代码放到远程仓库
**** 码字不易如果对你有帮助请给个关注****
**** 爱技术爱生活 QQ群: 894109590****