创建自定义git仓库:
创建组:groupadd git
创建用户:useradd git -m -s /sbin/nologin -d /home/git -g git
创建文件夹:mkdir repo.git
修改所有者:chown -R git:git repo.git
进入目录:cd repo.git
初始化仓库:git --bare init
-----或者直接 git init --bare repo.git 创建仓库之后再修改所有者
添加客户端公钥
安装git:
Linux下可以使用yum install git 进行安装
Windows下使用官网的安装包进行安装
安装之后使用
git config --global user.name "username"
git config --global user.email "email"
设置用户名和邮箱
创建版本库:
使用git init命令创建一个版本库,会在你定义的目录下创建一个 .git的目录
添加文件到版本库:(注意不要使用记事本编辑文件)
使用git add filename 将文件添加到暂存区,可以添加多个
使用git commit 将文件提交到仓库,或者使用git commit -m "说明信息" 为每次提交添加说明
查看状态:
使用git status查看提交状态
比较本地与仓库的修改:
使用git diff 进行比较 git diff HEAD -- filename
版本回退:
使用git log 查看最近提交的日志,太多的使用git log --pretty=oneline 显示一行 git log --pretty=oneline --abbrev-commit只查看commit信息
使用git reset --hard HEAD^ 回退到上一个版本,HEAD表示当前版本,加上 ^ 表示上一个,^^表示上两个,或者使用~10表示、
使用git reset --hard 版本号 回退到指定版本
查看每一次操作的命令:
使用git reflog 查看每次操作的日志
撤销修改(覆盖本地文件):
使用 git checkout -- filename 将仓库中的文件替换到本地
删除文件:
直接删除文件之后----
确定删除:使用git rm filename删除文件并使用git commit 提交
误删除:使用git checkout -- filename 恢复文件
创建ssh key:
使用ssh-keygen -t rsa -C "email addr",生成的两个文件中id_rsa.pub表示公钥文件,验证需要的就是公钥文件
添加远程库:
使用git remote add origin url 添加远程库,期中origin是远程库的默认名称,可以修改
推送本地文件:
使用git push -u origin master 将本地的主要分支推送到远程,第一次推送添加-u参数
--之后添加直接使用 git push origin master
注意:如果是GitHub并报错403的话,修改目录下 .git/config 文件中的origin下的url为 https://yourname@github.com/yourname/test/git
出现Gtk-WARNING **: cannot open display:问题时控制台执行:
[ -n "$SSH_CONNECTION" ] && unset SSH_ASKPASS
从远程库克隆:
使用 git clone url 从远程库克隆项目
创建合并分支:
查看分支: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 合并分支的时候使用 git merge --no-ff 分支名 进行普通合并,或者加上-m 参数添加信息
保存、恢复当前工作:
使用栈 git stash 保存当前未提交的修改
查看保存的工作git stash list
恢复:恢复指定场景需要指定名称,例如:git stash apply stash@{0}
1 使用git stash apply 恢复工作,并使用git stash drop 删除保存的工作
2 使用git stash pop 恢复工作
删除未提交分支:
使用git branch -D 分支名 强制删除未提交但不使用的分支
查看远程信息:
使用git remote -v 查看远程仓库信息
多人协作:
每个人使用git checkout -b dev origin/dev 创建本地分支
推送修改之前使用git pull 将远程仓库与本地修改合并,并解决冲突
冲突解决之后再次提交并推送远程仓库
合并失败使用 git pull 远程名 分支名 不同的项目合并需要添加 --allow-unrelated-histories
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
标签tag管理:
创建标签:
使用git tag name创建标签(为当前最新提交)
使用git tag name id 创建历史分支标签
git tag -a v0.1 -m "version 0.1 released" commitID -a参数指定名称,-m指定说明信息
查看标签:
使用git tag查看标签
使用git show tagname 查看标签详细信息
删除标签:
使用git tag -d name 删除本地标签
使用git push origin :refs/tags/name 删除远程标签
推送到远程:
使用git push origin name 推送一个标签
使用git push origin --tags 推送全部
忽略特殊文件:
在本地创建一个 .gitignore 的文件,将要忽略的文件名或者目录添加在里面
同时该文件需要上传仓库
添加了忽略之后强制添加文件使用 git add -f filename
设置别名:
使用git config [--glb=obal] alias.别名 命令 为命令设置别名--global为全局设置
全局设置在用户主目录下的.gitconfig中
仓库配置在仓库中的.git/config中
创建组:groupadd git
创建用户:useradd git -m -s /sbin/nologin -d /home/git -g git
创建文件夹:mkdir repo.git
修改所有者:chown -R git:git repo.git
进入目录:cd repo.git
初始化仓库:git --bare init
-----或者直接 git init --bare repo.git 创建仓库之后再修改所有者
添加客户端公钥
安装git:
Linux下可以使用yum install git 进行安装
Windows下使用官网的安装包进行安装
安装之后使用
git config --global user.name "username"
git config --global user.email "email"
设置用户名和邮箱
创建版本库:
使用git init命令创建一个版本库,会在你定义的目录下创建一个 .git的目录
添加文件到版本库:(注意不要使用记事本编辑文件)
使用git add filename 将文件添加到暂存区,可以添加多个
使用git commit 将文件提交到仓库,或者使用git commit -m "说明信息" 为每次提交添加说明
查看状态:
使用git status查看提交状态
比较本地与仓库的修改:
使用git diff 进行比较 git diff HEAD -- filename
版本回退:
使用git log 查看最近提交的日志,太多的使用git log --pretty=oneline 显示一行 git log --pretty=oneline --abbrev-commit只查看commit信息
使用git reset --hard HEAD^ 回退到上一个版本,HEAD表示当前版本,加上 ^ 表示上一个,^^表示上两个,或者使用~10表示、
使用git reset --hard 版本号 回退到指定版本
查看每一次操作的命令:
使用git reflog 查看每次操作的日志
撤销修改(覆盖本地文件):
使用 git checkout -- filename 将仓库中的文件替换到本地
删除文件:
直接删除文件之后----
确定删除:使用git rm filename删除文件并使用git commit 提交
误删除:使用git checkout -- filename 恢复文件
创建ssh key:
使用ssh-keygen -t rsa -C "email addr",生成的两个文件中id_rsa.pub表示公钥文件,验证需要的就是公钥文件
添加远程库:
使用git remote add origin url 添加远程库,期中origin是远程库的默认名称,可以修改
推送本地文件:
使用git push -u origin master 将本地的主要分支推送到远程,第一次推送添加-u参数
--之后添加直接使用 git push origin master
注意:如果是GitHub并报错403的话,修改目录下 .git/config 文件中的origin下的url为 https://yourname@github.com/yourname/test/git
出现Gtk-WARNING **: cannot open display:问题时控制台执行:
[ -n "$SSH_CONNECTION" ] && unset SSH_ASKPASS
从远程库克隆:
使用 git clone url 从远程库克隆项目
创建合并分支:
查看分支: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 合并分支的时候使用 git merge --no-ff 分支名 进行普通合并,或者加上-m 参数添加信息
保存、恢复当前工作:
使用栈 git stash 保存当前未提交的修改
查看保存的工作git stash list
恢复:恢复指定场景需要指定名称,例如:git stash apply stash@{0}
1 使用git stash apply 恢复工作,并使用git stash drop 删除保存的工作
2 使用git stash pop 恢复工作
删除未提交分支:
使用git branch -D 分支名 强制删除未提交但不使用的分支
查看远程信息:
使用git remote -v 查看远程仓库信息
多人协作:
每个人使用git checkout -b dev origin/dev 创建本地分支
推送修改之前使用git pull 将远程仓库与本地修改合并,并解决冲突
冲突解决之后再次提交并推送远程仓库
合并失败使用 git pull 远程名 分支名 不同的项目合并需要添加 --allow-unrelated-histories
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
标签tag管理:
创建标签:
使用git tag name创建标签(为当前最新提交)
使用git tag name id 创建历史分支标签
git tag -a v0.1 -m "version 0.1 released" commitID -a参数指定名称,-m指定说明信息
查看标签:
使用git tag查看标签
使用git show tagname 查看标签详细信息
删除标签:
使用git tag -d name 删除本地标签
使用git push origin :refs/tags/name 删除远程标签
推送到远程:
使用git push origin name 推送一个标签
使用git push origin --tags 推送全部
忽略特殊文件:
在本地创建一个 .gitignore 的文件,将要忽略的文件名或者目录添加在里面
同时该文件需要上传仓库
添加了忽略之后强制添加文件使用 git add -f filename
设置别名:
使用git config [--glb=obal] alias.别名 命令 为命令设置别名--global为全局设置
全局设置在用户主目录下的.gitconfig中
仓库配置在仓库中的.git/config中