这篇博客的内容来自于我的未知笔记,整理到csdn上是为了让我的伙伴或者我的团队成员们能够快速地了解一些基本的git命令,这里可能有很多不详细的地方,我会持续更新,先整理wiz再将wiz汇总到csdn上。
所以这篇内容难免草率,以后的文章将会更好,也会包含一些我自己的理解,与一些best practice.
1.创建公钥并添加github上已经创建的项目
1.命令 ssh-keygen -t rsa -C "your email address"
2.一路回车
3.cat .ssh/id_ras.pub
4.复制
5.在github上注册
添加远端仓库到已有仓库
- git init
- git remote add github git@xxx:xxx/xxx.git
-
git pull github --all --tags
显示所有远端仓库:
git remove -v
2.Git基本查看命令
1.工作区--暂存区--版本库的目录树浏览
git ls-tree -l HEAD 浏览版本库中的目录树
git ls-files -s 查看暂存区的目录树
3.Git配置文件相关命令
git config -l 显示所有配置
git config --global -e
git config --local -e
git config --system -e
分别编辑不同的配置文件 以默认的core.editor = emacs or vim 编辑
git config --unset --global user.name or user.email
删除 --global or local or system 级别文件下的对应配置
4.git 删除相关命令
删除文件
git rm
强制删除文件
git rm -f
恢复误删文件
git checkout HEAD -- "FileName"
git checkout . (注意有个点) 或 git checkout -- filename
使用暂存区的全部文件 或 指定文件 替换工作区的文件
--
这个命令很危险,因为会清除工作区中未提交的改动
git checkout HEAD .(注意有个点) 或 git checkout HEAD -- filename
使用版本库中当前HEAD只想的分支中的全部文件 或 指定文件 替换 暂存区 和 工作区中的文件
--
这个命令也很危险,因为会清除暂存区和工作区数据
5.Git diff命令用法
git diff
比较当前文件---git diff displays the changes that remain in your working directory and are not staged.
比较工作区中的文件 和 暂存区中的文件
git diff --cached
---git diff --cached shows changes that are staged and will therefore contribute to your next commit.
with ? the last commit.
就是比较暂存区中的文件 和 版本库中的文件
git
diff --cached 比较Index file和最近一次提交的区别
git维护的代码分成三部分,“当前工作目录”<->“index file”<->git仓库。git commit会将index file中的改变写到git仓库;git add会将“当前工作目录”的改变写到“index file”;“commit -a”则会直接将“当前工作目录”的改动同时写到“index file”和“git仓库”。而git diff总会拿git仓库来作为比较对象之一。如果git diff的参数是HEAD,则另一个比较对象就确定为“当前工作目录”;如果参数是–cached,则另一个比较对象就被确定为“index file”。
git diff HEAD or another-branch
比较工作区中的文件 和 指定分支版本库中的文件
6.git清理仓库命令
git rm 清理仓库中的文件
如果清理时文件已经stage或者什么其他情况 --cached了。
使用git rm -f -A 强制清理
git commit -m "some message" 提交清理
git clean -fd 清理当前版本库中,没有加入到版本控制中的文件或目录
-fd file or directory ??
7.Git 日志查看命令
基本命令:
1.git log显示日志信息
2.git show "specific rsa key code" ---- 显示特定记录日志信息
3.git show ---- 显示最近一条记录的日志信息
4.git show-branch --more="specific number of branch" ---- 以行的形式,准确地展示最近的开发分支。
git status命令
git status -s 显示精简格式输出命令
-s simple ? or simplify? i guess.
8.Git添加忽略
1.在.git同级目录下,添加.gitignore文件
2.vim .gitignore
3.在文件中编辑要忽略的文件,支持通配符。
9.解决 Could not resolve hostname github.com About github
git push -u origin master
出现异常:
ssh: Could not resolve hostname github.com: Non-recoverable failure in name resolution
fatal: The remote end hung up unexpectedly
解决方法:
ssh
-
T git@github
.
com
再次提交即可