下载
git下载地址,点击下载,然后下一步下一步安装成功即可。
使用
在桌面创建一个gittest文件夹
进入到文件夹
➜ ~ cd /Users/yubo/Desktop/gittest
➜ gittest
一、初始化文件夹
git init
这时候打开文件会发现里面里面空白,其实已经创建一个隐藏的文件,在window系统中的,可以勾选一下显示隐藏文件就可以看.git文件了,如果是mac系统,
使用shift + command + .
就可以看到了,后面我们所有的操作历史都会保存在.git文件夹中了

二、git status 查看当前仓库所在目录的文件状态
在gittest文件中建一个a.txt
文件
然后在终端中输入git status查看

现在可以通过git add '文件' 添加管理追踪

git commit 提交
第一次提交的时候,显示让填写邮箱和用户名
也可以通过git config --global -l 查看邮箱和用户名

再次点击git commit 回车就会进入到这个页面,对本次提交填写描述信息

在上面属于一段文字,注意这里输入信息,需要先按一下 i 键,然后就可以输入了,输入完以后esc退出,然后点击 :wq 保存。
这个时候在git status 时候,显示已经没有需要提交的工作目录了

git log查看提交日志

修改内容
还是接着上面的新建的文件a.txt,打开文件,在里面输入一些内容,保存

这个时候再进入到终端中,用git status查看状态

需要我们再次git add "文件名",然后再用git commit 提交就可以成功了


文件三种状态
1.已修改:被修改的文件
2.已暂存:等待被提交的文件
3.已提交: 提交的本地仓库的文件
暂存: stage
二、删除文件
先通过touch b.txt c.txt再创建两个文件

通过git commit -m '提交说明' 提交创建的几个文件
1.手动删除文件
在工作区手动将c.txt文件夹删除,然后在终端中git status 查看的文件状态

虽然我们手动删除了工作区的文件,但是在git仓库中依旧保留的c.txt的文件,这个时候就需要我们在终端中git rm c.txt删除

现在再使用git status 查看状态的时候,发现改变的文件,可以被commit了

下面就采用git commit -m '提交描述'提交本次操作

再去查看文件状态,发现已经没有可以操作的文件了

2.通过git rm 文件名删除
上面通过手动到工作区删除,然后再到终端去删除,有些麻烦,现在可以直接通过git rm 文件名 删除

现在工作区也没有展示b.txt文件了,在终端中查看文件状态情况

直接就可以提交了,通过命令提交即可
3.误操作将不想要提交的文件提交到仓库,如果删除呢
比如我们创建三个文件x.txt、y.txt、z.txt 文件,我们不想提交z.txt文件,但是不小心通过git add . git commit -m 将所有文件都添加到了仓库,那么如何删除呢,可以通过git rm --cache z.txt(想要删除的文件名)

上面图示可以看出来,当通过命令删除的文件,工作区的文件不会被删除,只是删除仓库中的文件,这个时候在git status 查看状态时候,就可以看出z.txt文件变成了未被追踪的文件了

当这个时候,对其他文件(a.txt)再次修改的时候,通过git status 查看状态如下

如果这个时候想要删除a.txt文件时候会报错,

因为git的安全机制,但是么有提交文件被删除,如果想要删除可以使用强制删除命令git rm -f a.txt

再用git commit 提交一下

(注意不要随意强制删除,风险很大)
三、移动文件
git mv 文件 文件夹/文件
例如:
想要将文件下面x.txt文件移动到first文件夹下面

git mv x.txt first/x.txt

重命名文件
将项目中yy.txt文件修改成y.txt,然后再git status 查看

显示修改的yy.txt文件被删除了,修改过的y.txt文件是未追踪的文件
这里就需要执行一下删除命令,将yy.txt文件从仓库中删除
git rm yy.txt
再添加y.txt文件
git add y.txt
然后再git status查看状态的时候,就显示修改了

简化信息




master

分支

查看当前在哪个分支
git branch

显示当前在master
创建分支 : git branch 分支名称
git branch branch1

切换分支
git checkout -b 分支名 ===>创建分支并进入到分支
git checkout 分支名称

合并分支
进入到主分支,然后输入命令
git merge 目标分支

打印git log 简短信息
git log --oneline --decorate --all --graph

删除所有,重新来一次

分支冲突

删除分支
git branch -d 分支名
如果想要删除没有合并的分支,可以采用
git branch -D 分支名
HEAD所指向的分支,无法删除
取消合并
git merge --abort
取消大合集

撤销文件的修改:
git checkout -- 文件名

修改提交信息
下面命令修改上一个commit 提交的错误信息
git commit -m '提交信息' --amend
撤销commit提交的内容

git reset "HEAD^"
注意上面的一个代表的是撤销1次,HEAD^表示撤销2次提交
还有一种方法:
git reset HEAD~2
想要撤销几条~后面就写几
查看操作的一些信息
git reflog

再通过命令就可以找回被撤销的提交了
git reset 哈希


存储

tag标签


远程仓库操作

SSH密钥

网友评论