git 常用命令及虚拟机服务器仓库搭建
2024-10-20 09:31:39
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
$ git init #--Reinitialized existing Git repository 初始化建立分支
$ git add <file> #--add file 添加
$ git status #--no changes added to commit没有提交的修改
$ git diff <file> #--difference 差异
$ git log #--version 提交历史
$ git log --pretty=oneline #--简节
$ git log --graph --pretty=oneline --abbrev-commit #--用git log --graph命令可以看到分支合并图。
$ git reset --hard HEAD^ #--退回上一版本
$ cat file #--open file打开
$ git reflog #--history 命令历史
$ git checkout -- <file> #--back a revise 撤销修改
$ git reset HEAD <file> #--把暂存区的修改撤销掉
$ git branch #--显示所有本地分支
$ ls -a #--find folder for .git
$ rm -rf .git #--remove .git 移除
$ ssh-keygen -t rsa -C 'you@example.com' #--local user generat SSH-key
$ git remote add origin git@github.com:<name>/<file.git> #--relation git关联一个远程库,使用命令
$ git push -u origin master #--解除当前关联
$ git remote rmove origin #--首次推送加上-u将关联Github
$ git push origin master #push the latest changes to the local master branch to github
$ git clone git@github.com:<name>/gitskills.git #--从GItHub同步到本地
$ git clone -b dev git@github.com:<name>/git.git #--下载分支dev文件到本地
$ git reset origin/46c8e12 orm.py #--从远程恢复版本号46c中的orm文件
$ git checkout -b dev #--合并了--创建 git branch dev--切换分支 git checkout dev
$ git branch #--查看当前分支
$ git merge dev #--合并dev分支内容
$ git merge --no-ff -m "merge with no-ff" dev #--禁用Fast forward用--no-ff
##Fast forward模式下,删除分支后,会丢掉分支信息。
$ git branch -d dev #--删除dev分支,强行删除用-D
$ git stash #--储存当前工作
$ git stash list #--查看储存清单
恢复进展 : 1: $ git stash apply #--stash内容并不删除,你需要用git stash drop来删除 2: $ git stash pop
$ git stash apply stash@{0} #--stash多次时可以指定
$ git branch -a #--查看所有分支(包括远程仓库的)
$ git fetch origin #--刷新远程仓库变改
$ git pull #--把最新的提交从origin/dev抓下来
查看远程库信息,使用git remote -v rebase操作的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。
$ git tag v0.9 f52c633 #--提交打标签对应的commit id是f52c633,不填id为当前事务
$ git tag -a v0.1 -m "version 0.1 released" 1094adb #--用-a指定标签名,-m指定说明文字:
$ git tag -d v0.1 #--删除
$ git push origin :refs/tags/v0.1 #--从远程删除,要先从本地删除
$ git push origin v1.0 #--推送v1.0标签到远程 v1.0==>--tags 推送全部尚未推送到远程 要忽略某些文件时,需要编写.gitignore
$ git config --global alias.st status #--以后st就表示status
$ git log -1 #--最后一次提交信息
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" #--log变色
云虚拟机linux上搭建Git裸库
新建一个用户并设置密码与git邮箱名字
$ vim .ssh/authorized_keys #--加入需要登录的用户的公钥,公钥在本地文件id_rsa.pub中
$ sudo git init --bare sample.git #--创建一个裸库
$ sudo chown -R git:git sample.git #--获取文件夹所有权限,git:git 是用户组与名,如果创建的用户名不是git就输入自己的
sudo 命令可能出现用户不在sudo组中:
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
需要切到root权限用户
# vim /ect/sudoers
在root ALL=(ALL) ALL下一行中加入git ALL=(ALL) ALL
若权限不够可以用chmod改下,建议改完恢复原权限
password是git用户的密码
资料参考来源:Git教程 - 廖雪峰的官方网站 (分享自 @廖雪峰)http://t.cn/RK0tLXB
最新文章
- 第50课 关于对话框(About)
- Maximum&#160;Product&#160;Subarray
- SharePoint配置搜索服务和指定搜索范围
- Linux环境变量设置指南
- php获取真实IP地址
- C#窗体 WinForm 文件操作
- 【转】Unity 之 移动设备的触控操作
- 【linux】pkill 踢在线用户
- Porlet标准:JSR168/JSR286/WSRP(转载)
- mysql 日期
- LA 3521 Joseph&#39;s Problem
- SQL2008安装重启失败
- SGU 202 The Towers of Hanoi Revisited (DP+递归)
- Java IO包装流如何关闭
- Java Web高级编程(一)
- SQLServer之分离数据库
- Linux上安装jdk,mysql
- P2084 进制转换
- logstash retrying failed action with response code: 429
- qt QRegExp使用(搬运工)
热门文章
- [題解]luogu_P1144最短路計數
- EasyUI datagrid 列宽度拖动问题
- Unity Shader入门精要学习笔记 - 第13章 使用深度和法线纹理
- ListBox,CheckBoxList,DropDownList,RadioButtonList的常见数据绑定
- ubuntu中wine下安装QQ
- php调用c# webservice方法
- cf559C. Gerald and Giant Chess(容斥原理)
- 【javascript】2017-9-12 腾讯笔试小Q升序算法
- IE兼容只读模式
- zookeeper系列 (第一章 :ubuntu 下安装zookeeper)