Git 使用命令总结

今天拜读雪峰老师git教程做一些总结


Git 使用命令

//初始化仓库
git init

//设置用户名密码 
git config --global user.name "Your Name"
git config --global user.email "you@example.com"

//添加文件到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 "youremail@example.com"

//关联一个远程仓库 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 git@192.168.0.188(仓库路径)

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 git@server:/srv/sample.git

方便管理公钥, 用Gitosis

 

 

配置Git时,加上 --global 对当前用户起作用, 不加对当前仓库起作用

每个仓库的Git配置文件都放在.git/config文件中

别名就在[alias]后面,要删除别名,直接把对应的行删掉即可

而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值