一、上传代码
- git status
- git add
- git commit -m "log info"
- git push origin master
二、清理本地代码
# 删除 untracked files
git clean -f
# 连 untracked 的目录也一起删掉
git clean -fd
# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
# 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd
三、撤回操作
a、撤回修改但是没有git add 的内容
git reset --hard #所有修改都被撤回
git checkout .
或者
git checkout filename #撤回某个文件
b、撤回git add
c、撤回git commit ---已经git commit 但是没有git push
- 找到之前提交的git commit的id
git log 找到想要撤销的id- git reset –hard id
例如git reset --hard 0d008556d3bba03263e5ad2f1381263f3a324dc5
完成撤销,同时将代码恢复到前一commit_id 对应的版本- git reset id
完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改四、基本概念整理
4个区
git 之所以令人费解,主要是它相比于 svn 等等传统的版本管理工具,多引入了一个 暂存区 ( Stage )的概念,就因为多了这一个概念,而使很多人疑惑。其实,在初学者来说,每个区具体怎么工作的,我们完全不需要关心,而只要知道有这么 4 个区就够了:
工作区( Working Area )
暂存区( Stage )
本地仓库( Local Repository )
远程仓库( Remote Repository )
5种状态
以上 4 个区,进入每一个区成功之后会产生一个状态,再加上最初始的一个状态,一共是 5 种状态。以下我们把这 5 种状态分别命名为:
未修改( Origin )
已修改( Modified )
已暂存( Staged )
已提交( Committed )
已推送( Pushed )