1.初始化工程
(1)首先建立想要使用git管理的目录 mkdir gitDemo cd gitDemo
(2)然后在这个目录下进行git初始化 git init
(3)这样在这个目录下任何文件的增删改都会被git跟踪管理起来,其变化都记录在.git文件中,不可修改
2.添加文件
(1)在git管理的目录或者子目录下建立新文件 vim xxx
(2)通过add命令,添加建立的文件到git记录中,让git管理新建文件,可以一次添加多个 git add xxx
(3)通过commit命令,将新添加的文件提交到本地git仓库中 git commit/git commit -m “”
3.添加远程仓库
(1)在git上新建一个工程,拷贝工程的git地址 xxx
(2)给上一步新建的本地git管理目录添加远程仓库 git remote add origin xxx
(3)提交本地git工程到远程仓库 git push -u origin master
4.克隆远程仓库到本地
(1)新建想要存放远程仓库中工程的目录
(2)复制远程仓库地址 xxx
(3)克隆远程仓库 git clone xxx
4.文件的远程提交和拉去
(1)git push (origin xxx),xxx 为git分支名称,不添加后面参数默认推送到与当前本地分支相关联的分支
(2)git pull (origin xxx),xxx 为git分支名称
(3)git fetch (origin xxx),xxx 为git分支名称
5.分支的使用
(1)创建本地分支 git branch xxx ,xxx为创建的分支名
(2)创建本地分支并从远程仓库分支拉去工程
git checkout -b 本地分支名 origin/远程分支名
git fetch origin 远程分支名 :本地分支名
(3)切换分支 git checkout xxx
(3)先切换到其他分支,再将当前分支合并到其他分支
git merge xxx 快速合并,直接指向合并的分支;加入—no-ff命令,正常合并,合并两个分支,生成新的节点
git rebase xxx 直接指向用于合并的分支,并将原分支上的新改动合并到该分支,
(4)删除本地分支 git branch -d/-D xxx
(5)删除远程分支 git push origin --delete [branchname]
6.辅助功能
(1)查看本地工程做的修改 git status ,也可以将获取的当前改动状态写入.log文件git status > modified_file.log
(2)查看git的日志 git log
(3)查看git分支 git branch
(4)git reset HEAD 命令会退版本,soft命令回退到commit 之前,mixed回退到add之前,hard回退到代码修改之前
(5)git mv 命令用于移动或重命名一个文件、目录、软连接
7.查看工程变化的区别
(1)比较工作区与暂存区 git diff,即当前工作区文件与上一次通过add命令添加到缓存区的不同
(2)比较暂存区与最新本地版本库 git diff —cached 即比较当前通过add添加到缓存区与上一次commit到本地仓库的不同
(3)比较工作区与最新本地版本库 git diff HEAD 即当前工作区文件与上一次commit到本地仓库的不同
(4)比较工作区与指定commit-id的差异git diff commit-id [...]
(5)比较暂存区与指定commit-id的差异 git diff --cached [] [...]
(6)比较两个commit-id之间的差异 git diff [] []
(7)显示改动的摘要 git diff —stat
(8)使用git diff打补丁
git diff > patch patch是自定义名称,不加其他参数时作用是本仓库工作区的修改的代码做成补丁,在其他机器上对应目录下使用 git apply patch 打补丁,做更新迁移。
git diff --cached > patch //是将我们暂存区与版本库的差异做成补丁
git diff --HEAD > patch //是将工作区与版本库的差异做成补丁
git diff Testfile > patch//将单个文件做成一个单独的补丁
注意:在git apply patch 应用补丁之前,先检验一下补丁能否应用,git apply --check patch 无输出,表示可以顺利打这个补丁
另外可以使用git apply --reject patch将能打的补丁先打上,有冲突的会生成.rej文件,此时可以找到这些文件进行手动打补丁
8.删除不需要的文件
(1)简单地从工作目录中手工删除文件git rm xxx
(2)删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -fgit rm -f xxx
(3)如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可 git rm —cached xxx
9.删除未跟踪文件
(1)删除未跟踪目录及其下文件,但是该目录下不包含其他git仓库文件 git clean -d
(2)强制删除当前工作目录下未跟踪文件 git clean -f 删除后无法恢复
(3)查看将要被删除文件 git clean -n
(4)查找未跟踪文件,生成.log记录文件 git clean -df > xxx.log,可用于生成.gitignore文件
10.忽略不需要的跟踪文件
(1)在git总工程目录下新建.gitignore文件
(2)在其中加入想要忽略的文件,至于如何查找为跟踪文件,见上(4)
(3)通过git rm -r —cached 命令删除已经加入的不必要的缓存
(4)添加.gitignore到 git仓库管理