一、初次运行 Git 前的配置
用户信息
Git config --global user.name “userName”
Git config --global user.email “userEmail”
检查配置信息
Git config --list 所有配置
Git config <key> 某一项配置,比如user.name
获取帮助
Git help <verb> 某一命令的手册,比如之前的命令config
二、获取 Git 仓库
初始化操作,项目中的文件没有被跟踪
命令:git init
跟踪并提交文件夹下的文件
命令:git add <fileName> 增添某一文件
命令:git commit -m‘initial project version’ 提交文件version
命令:git commit -m “<fileName>” 提交文件
退出git commit 操作:按ESC键----->换行,在最底下输入“:”---->再输入“wq”退出。
克隆现有的仓库
git clone <URL>
说明:在当前目录下创建一个名为“libgit2”的目录,并在这个目录下初始化一个.git文件夹,从远程仓库拉取下所有数据放入 .git 文件夹,然后从中读取最新版本的文件的拷贝
命令:Git clone https://github.com/libgit2/libgit2
说明:克隆远程仓库的时候,自定义本地仓库的名字
命令:git clone https://github.com/libgit2/libgit2 mylibgit
检查当前文件状态
命令:git status
On branch master
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: file1.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
simplegit-progit/
no changes added to commit (use "git add" and/or "git commit -a")
说明:分支名是 “master” ;
修改但未提交文件:通过命令:git add/rm <file> 更新文件用于提交,
或者通过命令: git checkout -- <file>来放弃更改工作目录;
未跟踪到的文件:通过命令:git add <file> 将未跟踪到的文件提交
状态简览
命令:git status -s
忽略文件
命令: cat *.gitignore
查看已暂存和未暂存的修改
命令:git diff
查看已暂存的将要添加到下次提交里的内容,可以用 git diff --cached 命令
移除文件
说明:从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交.
命令:git rm <file>
说明:简单地从工作目录中手工删除文件
命令:rm <file>
出现问题:运行 git status 时就会在 “Changes not staged for commit” 部分(也就是 未暂存清单)
说明:把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中
命令: git rm --cached <file>
说明:删除 log/ 目录下扩展名为 .log 的所有文件
命令:git rm log/\*.log
说明:删除以 ~ 结尾的所有文件。
命令: git rm \*~
移动文件
说明:从一个文件移动到另一个文件,同时删除原文件
命令:git mv file_from file_to
查看提交历史
命令:git log --pretty=oneline
git log --pretty=format:"%h - %an, %ar : %s"
(编号 - 作者, 时间: 操作内容)
撤消操作
说明:提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令尝试重新提交
命令:git commit --amend
说明:取消暂存
命令: git reset HEAD <file>
撤消对文件的修改
说明:不想保留对<file>文件的修改怎么办? 你该如何方便地撤消修改 -将它还原成上次提交时的样子
命令:git checkout -- <file>
三、远程仓库的使用
查看远程仓库
命令:git remote
Option: -v 读写远程仓库使用的 Git 保存的简写与其对应的 URL
说明;列出远程仓库的 URL 与跟踪分支的信息
命令:git remote show <shortname>
添加远程仓库
命令:git remote add <shortname> <url>
Ex: git remote add FP https://github.com/paulboone/ticgit
从远程仓库中抓取与拉取
说明:拉取 Paul 的仓库中有但你没有的信息
命令:git fetch FP
推送到远程仓库
命令:git push <origin> <master>
远程仓库的移除与重命名
命令: git remote rename <name_from> <name_to>
四、Git分支
分支创建
命令:git branch <branchName>
分支切换
命令:git checkout testing
分支的新建与合并
新建分支
说明:要解决你的公司使用的问题追踪系统中的 #53 问题。 想要新建一个分支并同时切换到那个分支上
命令:git checkout -b <branchName>
合并分支
说明:运行你的测试,确保你的修改是正确的,然后将其合并回你的 master 分支来部署到线上。 当然你先需要将分支指针跳转到合并到的分支上去:git checkout <branch Name>
命令:git merge <branchName>
最后是删除该需要合并的分支名:git branch -d <branchName>
遇到冲突时的分支合并
使用图形化工具来解决冲突
命令:git mergetool
五、将本地文件推送到云端
命令:
git init
git add .
git commit -m “first commit”
Git remote add origin https://github.com/dhasioifh/leahof.git(远端项目仓库http地址,也可以使用ssh协议地址)
Git push -u origin master(or git push origin master)