Git命令
该博客涉及到Git的一些常用命令。包括一些安装、创建证书、初始化、上传、克隆、添加到本地库、上传到远程库、创建查看分支等常用命令。
一 Git基本命令
1. 查看提交历史记录: git log --oneline
2 安装Git
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
perl-devel
$ yum install git
接下来我们 创建一个git用户组和用户,用来运行git服务:
$ groupadd git
$ useradd git -g git
3. 创建证书登录
收集所有需要登录的用户的公钥,公钥位于id_rsa.pub文件中,把我们的公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。如果没有该文件创建它:
$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys
4. 初始化Git仓库
首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/bjpowernode.git,在/home/gitrepo目录下输入命令:
$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo
$ git init --bare bjpowernode.git
Initialized empty Git repository in /home/gitrepo/bjpowernode.git/
以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:
$ chown -R git:git bjpowernode.git
5.克隆仓库
$ git clone git@192.168.45.4:/home/gitrepo/bjpowernode.git
Cloning into ‘bjpowernode’…
warning: You appear to have cloned an empty repository.
Checking connectivity… done.
192.168.45.4 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。
6. 创建git仓库
命令:git init
使用我们指定目录作为Git仓库。
git init newrepo
初始化后,在当前目录下会出现一个名为 .git 的目录,所有 Git
需要的数据和资源都存放在这个目录中。
如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git
开始对这些文件进行跟踪,然后提交:
$ git add *.c
$ git add README
$ git commit -m ‘initial project version’
从现有仓库克隆
克隆仓库的命令格式为:git clone [url]
比如,要克隆 Ruby 语言的 Git 代码仓库 Grit,可以用下面的命令:
$ git clone git://github.com/schacon/grit.git
执行该命令后,会在当前目录下创建一个名为grit的目录,其中包含一个 .git
的目录,用于保存下载下来的所有版本记录。
如果要自己定义要新建的项目目录名称,可以在上面的命令末尾指定新的名字:
$ git clone git://github.com/schacon/grit.git mygrit
7.查看详细信息:git show ID
8. 查看工作区状态:git status
9. 回顾修改内容: git diff
10. 添加文件: git add 文件名
11. 提交文件: git commit –m “描述”
12. 恢复原来的版本: git checkout 文件
13. 复位移动头指针: git reset --hard head或者ID
14 添加远程库:git remote add 仓库名SSH或者是HTTPS的url例如git remote add
origin git@github.com:tianqixin/bjpowernode-git-test.git
15. 生成SSH Key:ssh-keygen -t rsa -C "邮箱"
16. 查看远程库:git remote -v
17. 提取远程库更新:
git fetch origin
git merge
18. 上传到远程库:git push origin master
19. 删除远程库: git remote rm 仓库名
20. 克隆:git clone 版本库地址
21. 删除文件: git rm 文件
22. 查看分支:git branch -v
23. 添加标签: git tag –a v1.0(标签名)
24. 查看标签:git tag
**25. 删除标签:**git tag –d
标签名,若已经上传到远程则先在本地删除标签,在执行命令:git push origin
:refs/tags/v0.9(标签名)
26. 创建分支:git branch分支名 创建加切换分支 git checkout –b 分支名
上级分支
27. 切换分支:git checkout 分支名
28. 删除分支:git branch –D 分支名
29. 重命名分支:git branch –m 旧分支 新分支名
30. 有bug保存当前内容: git stash
31. 删除satsh: git stash pop
32. 查看stash: git stash list
33. 移动文件:git mv 文件 目录
34. 从远程库下载:git pull
二 Git常用命令
1 将本地文件上传到远程库中
(1)初始化:git init
(2)提交到本地库:git add .
(3)提交文件:git commit -m “描述信息”
(4)提交到远程库:git remote add origin 远程库地址
(5)下载:git pull origin master --allow-unrelated-histories
解决You’ve successfully authenticated, but Gitee.com does not provide she access.的问题,会进入编辑状态注解 :wq退出即可
(6)上传到远程库:git push origin master
(7)上传到远程库版本已经更新:git fetch ;git merge (或rebase) origin/master;git push或者用git pull;git push或git pull --rebase;git push
(8)远程追踪:git checkout -b 分支名 o/main ;git pull或者git branch -u o/main 分支名
(9)指定了独立的来源和目的地:git push origin :,若省略source,则push会删除远程仓库中的分支,pull会在本地添加新的分支
(10)在自己创建的分支中提交到远程库中
在项目同级文件夹,git init生成 .git文件夹
创建分支: git checkout -b dev(分支名)
连接到远程仓库:git remote add origin 地址
将项目放在本地仓库中:git add 项目名
提交到远程仓库中:git commit -m “”
拉取远程仓库的分支:git fetch
切换到master分支:git checkout origin/master
提交到远程仓库的分支上:git push -u origin dev
回退:先使用git log查看需要回退的commit id,然后使用git reset --hard commit id回退,最后使用git pull --force强制提交即可回退成功
更多操作可参考链接[Git命令](https://www.liaoxuefeng.com/wiki/896043488029600/900005860592480)