git的基本用法

蓝咒 提交于 2020-02-25 15:19:22

git组成

工作区 —》暂存区—》git仓库
初始化一个git仓库

第一种,创建目录并初始化git仓库到目录
git init  myweb
第二种
mkdir myweb
cd myweb
git init

添加文件到git暂存区

一、
[root@lsh myweb]# git add .  #全部添加
[root@lsh myweb]# git add index.html  #添加指定文件
A  index.html #已经添加
?? passwd   #未添加

二、先忽略不想添加的文件,然后全部添加
[root@lsh myweb]# vim .gitignore
.gitignore
passwd
[root@lsh myweb]# git add .
[root@lsh myweb]# git status -s
A  index.html
[root@lsh myweb]# git commit -m 'first commit'

删除暂存区的文件

[root@lsh myweb]# git rm --cached index.html
rm 'index.html'
[root@lsh myweb]# git status -s
?? index.html

删除git仓库的文件

[root@lsh myweb]# git ls-files
index.html
[root@lsh myweb]# git rm index.html
rm 'index.html'
[root@lsh myweb]# git status  -s
D  index.html

恢复错删的git仓库文件

[root@lsh myweb]# git status
# 位于分支 master
# 要提交的变更:
#   (使用 "git reset HEAD <file>..." 撤出暂存区)
#
#       删除:      index.html
#
[root@lsh myweb]# git reset HEAD index.html
重置后撤出暂存区的变更:
D       index.html
[root@lsh myweb]# git status -s
 D index.html
[root@lsh myweb]# git checkout -- index.html
[root@lsh myweb]# git ls-files
index.html
[root@lsh myweb]# git status
# 位于分支 master
无文件要提交,干净的工作区

通过log日志恢复git仓库删除的数据
(确保工作区处于干净的状态)

[root@lsh myweb]# git status
# 位于分支 master
无文件要提交,干净的工作区
[root@lsh myweb]# git ls-files
查看日志
[root@lsh myweb]# git log
commit 5a289385dd35ceb24afc80df262c09bef9f9ad15
Author: root <root@lsh.localdomain>
Date:   Tue Feb 25 11:26:03 2020 +0800

    first
[root@lsh myweb]# git checkout 5a289385dd35ceb24afc80df262c09bef9f9ad15
[root@lsh myweb]# ls
index.html 

修改名字

[root@lsh myweb]# cp /etc/hosts  .
[root@lsh myweb]# git add hosts
[root@lsh myweb]# git commit -m 'add hosts'
[root@lsh myweb]# git mv hosts zhuji

[root@lsh myweb]# git status -s
R  hosts -> zhuji
[root@lsh myweb]# git commit -m 'mv hosts zhuji'
[root@lsh myweb]# git ls-files
zhuji

分支管理

当需要把一个需求交给某个人,就可以创建新的分支,代码在分支中完成。当分支完成在汇聚到主干中去。

[root@lsh myweb]# git branch
* (分离自 5a28938)
  master

创建分支

# 创建分支b1
[root@lsh myweb]# git branch b1
[root@lsh myweb]# git branch 
  b1
* master   # 有*号的,表示当所处分支
#在master提交代码
[root@lsh myweb]# cp /etc/hosts  .
[root@lsh myweb]# git add .
[root@lsh myweb]# git commit -m 'add hosts'
[root@localhost myweb]# ls
shadow
hosts
#b1分支提交代码
# 在b1分支提交代码
[root@lsh myweb]# git checkout b1   # 切换分支
[root@lsh myweb]# git branch 
* b1
  master
[root@lsh myweb]# ls   # 没有hosts文件
shadow
[root@lsh myweb]# cp /etc/issue .
[root@lsh myweb]# git add .
[root@lsh myweb]# git commit -m "add issue"
[root@lsh myweb]# ls
issue  shadow
# 将b1分支汇入到主干master
[root@lsh myweb]# git checkout master
[root@lsh myweb]# ls
shadow hosts
[root@lsh myweb]# git merge b1 -m "Merge branch b1"
[root@lsh myweb]# ls
shadow hosts  issue
[root@lsh myweb]# git branch -d b1   # 删除不需要的分支
[root@lsh myweb]# git branch 
* master
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!