git基础类的命令

来源:互联网 发布:c语言编写可视化界面 编辑:程序博客网 时间:2024/04/27 13:42

今天做项目用到git,当初闲时学习的git命令快忘了。有点蛋疼,学而不用则罔。有看了一下,廖雪峰老师写的git教程和菜鸟教程上的git教程,总结了一些基础知识。写在这里防止自己忘了。

设定git配置 

--local 参数表示当前库配置信息 
--global 作用域是当前用户
--system 作用域是整个系统
git config --global user.name "user name" 设定用户名
git config --global user.email "user email" 设定用户邮箱
git config --global core.deitor vim 设定文本编辑器
git config --global color.ui true 彩色显示git命令的输出


.gitignore 配置的一些说明
斜杠“/” 开头表示目录
星号“*” 表示通配多个字符
问号“?” 通配单个字符
方括号“[]”包含单个字符的匹配列表
叹号“!” 表示不忽略匹配的文件或目录


创建本地文件仓库 git init
本地文件仓库包含工作区 和版本库(.git)


将文件修改提交到本地库
git add <filename> 将文件提交到缓存区
git add . 把所有修改或添加的文件提交到缓存区
git commit -m "comment" 将缓存区的所有文件提交到版本库 -m 表示需要添加提示信息
git cmmit -am "comment" 可以跳过缓存区直接提交到版本库


查看本地库的文件状态
git status  查看状态的详情 包括当前目录所在分支,提交到缓存区的修改
git status -s 查看简写状态


查看文件的修改信息
git diff HEAD [filename] 工作区文件和版本库的修改内容的比较
git diff [filename] 工作区和缓存区修改内容的比较
git diff --cached [filename] 缓存区相对于版本库的修改内容
git commit_id1 commit_id2 [filename] 版本库不同版本的比较


撤销文件内容的修改
git checkout -- filename 将工作区的文件恢复到最近一次提交到缓存区或版本库的版本
git reset HEAD filename 撤销缓存区的修改
git reset --hard HEAD^ 撤销版本库的修改 回到上一个版本
git reset --hard commit_id  回到指定的一个版本


git log 查看版本的提交记录,以便选择回退到那个版本
git log --oneline 查看简洁的版本记录
git log --oneline --graph 查看历史中什么时候出现分支、合并的信息
git log --reverse --oneline 逆向显示提交记录


git reflog 查看命令历史 ,可以查询有那个版本回退到当前版本。


删除文件
git rm filename 从版本库和硬盘同时删除该文件
git rm --cached filename 只删除版本库文件 工作区保留
git rm -f filename 强制删除文件 ,如果文件提交到缓存区,就需要用到此命令
git rm -r dir 删除文件夹


git的分支知识
git branch 查看分支
git branch -a 可以列出本地和远程的全部分支
git branch name 创建分支
git checkout name 切换分支
git checkout -b name 创建分支并切换到该分支
git merge name 合并某分支到当前分支
git branch -d name 删除分支


git的远程操作
ssh-keygen -t rsa -C "youreamil@example.com" (一路回车下去,生成的文件在~/.ssh 打开id_rsa.pub,复制里面的key,添加到你的远程库中) 生成ssh key
ssh -T remote_url 查看是否连接成功
git clone remote_url 克隆远程的代码库到本地文件夹
git clone remote_url local_dir 克隆远程代码库到指定的文件夹


git remote add [short name] [url] 将本地库与远程库关联起来,short name 一般设置成origin


git push [remote name] [branch name] 将当前分支推送到远程相对的分支


git fetch [remote name] 获取远程的更新,不与本地文件合并。还没 用到。


git pull [remote name] 获取远程的更新并尝试与本地文件和并


查看远程库的信息
git remote 列出远程库的名字 (你起的名字会被列出)
git remote -v 列出远程库的名称和对应的url
 
git remote rename [remote name] [remote newname] 更改远程库的名称


git remote rm [remote name] 删除与远程库的关联


git ls-remote origin 显示远程库的版本信息




git标签 (tag) 有时候commit_id 不好记可以换成tag,更简短好记
git tag -a v1.0 给最新一次提交创建一个带注释的标签
git tag -a <tagname> [commit_id] 在某个commit_id处打标签
git tag -a <tagname> -m "comment" 指定标签信息
git tag -s <tagname> -m "comment" pgp标签
git tag 查看标签


强制覆盖本地文件
git reset --hard HEAD
git clean -f -d 
git pull


0 0