详解git的相关使用命令(服务器搭建,分支,标签)

首先你需要有一个你个人的git账号,有了账号后查看是否已经有了服务器,如果没有的话,可以按照下面一点一点地操作:

搭建Git服务器(ubuntun)的命令操作
sudo apt-get install git 安装git
sudo adduser git 创建一个git用户,用来运行git服务
收集所有需要登录的用户的公钥(id_rsa.pub),导入到/home/git/.ssh/authorized_keys
sudo git init –bare sample.git (/src/sample.git)
sudo chown -R git:git sample.git 把owner改为git
编辑/etc/passwd文件 (禁用shell登录)
将 git:x:1001:1001:,,,:/home/git:/bin/bash
改为 git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

创建版本库
mkdir 创建空目录
git init 把这个目录编程git可以管理的仓库
ls -ah 可以看见隐藏的目录 .git
把文件放入git仓库
git add
git commit 把文件提交到仓库
-m -m后面输入的是本次提交的说明(最好写上,方便自己和同事能够简单明了的知道。这里需要添加双引号来写message)
git status 查看工作区的状态
git diff 查看修改的内容,就是查看和原来的文件不同的地方,只有修改过的文件,才会和源文件不相同的。
查看历史记录
git log 查看提交历史
–pretty=oneline 简化输出的信息(前边是commit id)
git reset –hard HEAD^ 回退到上一个版本
HEAD^^ 回退到上上一个版本
HEAD~100 回退到上100个版本
git reset –hard
git reflog 查看命令历史
工作区(Working Directory)
版本库(Repository) -> 工作区中的一个隐藏目录.git
stage 暂存区, master, HEAD
管理修改:每次修改都需要git add ,然后git commit,才能存入仓库
撤销修改:
git checkout – 撤回修改的内容(未add提交到暂存区)
git reset HEAD 撤回添加到暂存区的文件
删除文件
rm
git rm 删除文件
git commit -m
远程仓库
创建SSH Key
ssh-keygen -t rsa -C “[email protected]
.ssh
|–id_rsa 私钥
|–id_rsa.pub 公钥
登录GitHub->Account Settings->Add SSH Key
粘贴id_rsa.pub文件里的内容
添加远程库
git remote add origin https://github.com/CharlesWu123/learngit.git
或 git remote add origin [email protected]:charleswu123/learngit.git
远程库的名字origin,git默认的叫法
git push -u origin master
第一次推送master分支,加上-u参数,推送+关联
git push origin master
以后的推送可以不加-u
git remote rm origin
从远程克隆
git clone [email protected]:charleswu/gitskill.git
克隆需要添加的是你要克隆的对应的url,此处的url是指的文件的url,而不是最上方网址的URL

分支管理
创建与合并分支
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d
解决冲突(手动解决)
git log –graph –pretty=oneline –abbrev-commit 分支合并图
分支管理策略
git merge –no-ff -m dev
禁用Fast forward,进行合并,这样从分支历史上就可以看出分支消息
git log –graph –pretty=oneline –abbrev-commit 查看分支历史
bug分支
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,
修复后,再git stash pop,回到工作现场
git stash
git stash list
git stash pop
强制删除
git branch -D
多人协作开发
git push origin 推动自己的修改
git pull 如果推送失败,则抓取远程新的提交,因为远程分支比你的本地更新
git checkout -b origin/
在本地创建和远程分支对应的分支
git branch –set-upstream-to origin/
本地分支和远程分支创建连接
git remote -v 查看远程库信息
Rebase
rebase操作可以把本地未push的分叉提交历史整理成直线
rebase的目的是使得我们在查看历史提交的变化时更容易,
因为分叉的提交需要三方对比

标签
创建标签
git tag 创建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a -m 指定标签信息
git tag 查看所有标签
git show 查看标签信息
操作标签
git tag -d 删除标签
git push origin 推送标签到远程
git push origin –tags 一次性推送全部尚未推送到远程的本地标签
删除远程标签
git tag -d 先删除本地标签
git push origin :refs/tags/ 再从远程删除
码云
git remote add [email protected]:charleswu123/learngit.git
关联GitHub的远程库 为在github上的库名
git remote add [email protected]:charleswu123/learngit.git
关联gitee的远程库,为在gitee上的库名
git remote -v 查看远程库信息
自定义git
git config –global color.ui true 让git显示颜色
忽略特殊文件
添加 .gitignore 文件,并提交到Git
git add -f 强制添加到Git
git check-ignore -v 检查文件忽略
配置别名
git config –global alias.<别名> <要替换的名>
配置文件:
每个仓库的配置文件: .git/config
当前用户的配置文件:.gitconfig(用户主目录下的)

Git 的相关的命令的实现形式(这些命令都是再Mac os下输入的命令)
501 git
502 mkdir git
503 cd git
504 ls
505 git init
506 touch chaochao.txt
507 vi chaochao.txt
508 ls
509 git add chaochao.txt
510 ls
511 git status
512 git commit chaochao.txt
513 git commit -m “git历程”
514 git remote add origin https://github.com/chenxinjingjing/fir.git
515 git push -u origin master
516 git clone https://github.com/chenxinjingjing/MLBox.git
517 ls
518 cd MLBox/
519 ls
520 vim README.md
521 vim README.md
522 git add README.md # 把修改过的README.md文件添加
523 git commit -m ‘修改’ # 此处的“修改”就是上文中的 message
524 git push origin master
525 cd git
需要到主目录下,获取公钥的时候
526 cd
527 ssh-keygen -t rsa -C “[email protected]
528 ls
529 vim ls.pub
注意:# 是python中的解释文本的意思,由于博主学习的是python

猜你喜欢

转载自blog.csdn.net/lc574260570/article/details/81610020
今日推荐