Git 使用命令总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git 使用命令总结相关的知识,希望对你有一定的参考价值。
今天拜读雪峰老师git教程做一些总结
Git 使用命令
//初始化仓库
git init
//设置用户名密码
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
//添加文件到git仓库 可反复使用添加多个文件
git add <file>
//提交文件
git commit -m "备注"
//以彩色显示改动状态
git config [--global] color.ui true
//查看工作区状态
git status
//查看文件哪些内容被修改过
git diff
//查看提交历史记录 参数[pretty=oneline] 简化显示信息
git log [ pretty=oneline]
//回溯到哪个版本 HEAD 指当前版本;HEAD^ 指上一版本;HEAD^^上上版本 HEAD~100 上100个版本。。。
git reset --hard commit_id
//重回未来的哪个版本,查看命令历史,以便确认未来版本号commit_id
git reflog
//丢弃工作区修改时
git checkout -- <file>
//已提交到暂存区stages 想丢弃修改
git reset HEAD <file>
git checkout -- <file>
//删除版本库中的文件
git rm <file>
//从版本库还原到工作区的版本 "一键还原"
git checkout -- <file>
//创建SSH Key
$ ssh-keygen -t rsa -C "[email protected]"
//关联一个远程仓库 xx.git 远程仓库地址
git remote add origin xx.git
//第一次推送master分支的所有内容
git push -u origin master
//要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。 Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
git clone xx.git
//查看分支
git branch
//创建分支
git branch <name>
//切换分支
git checkout <name>
//创建+切换分支
git checkout -b <name>
//合并某分支到当前分支
git merge <name>
//删除分支
git branch -d <name>
//查看分支合并图
git log --graph
//强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。
git merge --no-ff -m "备注" dev/*分支*/
//当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
git stash //把手头工作储藏起来,干完别的活后
git stash pop //回到手头工作/*快捷键== git stash apply stash_id + git stash drop stash_id*/
//查看stash列表
git stash list
//强制删除一个分支<name> 注意:当前位置不能在被删除的分支上
git branch -D <name>
//查看远程库信息
git remote -v
//抓取远程更新
git pull origin branch-name
//本地推送分支
git push origin branch-name
//在本地创建和远程分支对应分支, 本地和远程分支最好是一样
git checkout -b branch-name origin/branch-name
//建立本地分支和远程分支的关联
git branch --set-upstream branch-name origin/branch-name
//创建一个新标签 默认为HEAD
git tag <name> [commit_id]
//查看所有标签
git tag
//查看标签信息
git show <tagname>
//创建带有说明的标签 -a 制定标签名 -m 指定说明文字
git tag -a 版本号(v1.0) -m "备注" commit_id
//可以通过 -s 用私钥签名一个标签 私钥需要安装gpg加密工具并生成gpg私钥
git tag -s 版本号 -m "备注" commit_id
//推送一个本地标签
git push origin <tagname>
//推送全部为推送过的本地标签
git push origin --tags
//删除一个本地标签
git tag -d <tagname>
//删除一个远程标签
git push origin :refs/tags/<tagname>
//忽略提交的文件
! 在与.git同级的根目录下创建.gitignore文件,vim .gitignore 编辑你要忽略的文件。如 *.db,Desktop.ini 等
//配置别名
git config [--global] alias. 简写命令<如st> 命令/"" <如status/"reset HEAD">
搭建Git服务器
1,必须以roo身份
yum install git
adduser git
passwd git
2,切换用户git, 创建仓库
su git
选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令
$ sudo git init --bare sample.git
$ sudo chown -R git:git sample.git
3,创建证书登录, 把项目组所有人的公钥都收集
scp 项目组本地公钥路径/id_rsa.pub [email protected](仓库路径)
4,把所有人的公钥都写入到/home/git/.ssh/authorized_keys文件里,一行一个
cat id_rsa.pub<1> id_rsa.pub<2> ... >> .ssh/authorized_keys文件里,一行一个
5,禁shell登录
权限用户root
vim /etc/passwd
把git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
6, 克隆远程仓库 server-->192.168.0.188<ip地址>
$ git clone [email protected]:/srv/sample.git
方便管理公钥, 用Gitosis
配置Git时,加上 --global 对当前用户起作用, 不加对当前仓库起作用
每个仓库的Git配置文件都放在.git/config文件中
别名就在[alias]后面,要删除别名,直接把对应的行删掉即可
而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中
以上是关于Git 使用命令总结的主要内容,如果未能解决你的问题,请参考以下文章