git使用【提交、回退、链接、公匙链接、分支操作、忽视文件】和 指令大全(一)
提示:有助于我们加深对git操作的使用
git详细的使用方法
前言(多人开发如何合并,点击👇🔗)
链接如下👇(git合并分支的两种方法🔗)
一、常用指令如下
以下是一些常用的 Git 指令,它们可以帮助你在版本控制中管理代码和仓库:
1. `git init`: 在当前目录中初始化一个新的 Git 仓库。
2. `git clone <仓库URL>`: 克隆一个远程 Git 仓库到本地。
3. `git add <文件>`: 将文件添加到暂存区,准备提交。
4. `git commit -m "提交消息"`: 提交更改并附上一条提交消息。
5. `git status`: 显示工作区和暂存区的状态。
6. `git log`: 查看提交日志。
7. `git pull`: 从远程仓库拉取并合并最新的更改。
8. `git push`: 推送本地更改到远程仓库。
9. `git branch`: 列出本地分支。
10. `git checkout <分支>`: 切换到指定分支。
11. `git checkout -b <新分支>`: 创建并切换到一个新分支。
12. `git merge <分支>`: 合并指定分支到当前分支。
13. `git rebase <分支>`: 将当前分支变基到指定分支。
14. `git reset`: 重置分支到特定提交。
15. `git stash`: 暂存当前的未提交更改。
16. `git tag`: 列出或创建标签。
17. `git remote`: 显示远程仓库的信息。
18. `git fetch`: 从远程仓库获取最新的更改,但不合并。
19. `git diff`: 显示未暂存和已暂存更改之间的差异。
20. `git remote add <名称> <URL>`: 添加一个新的远程仓库。
上面的 Git 指令的一部分,Git 有更多功能和选项,你可以使用
git --help
或git <命令> --help
来获取关于特定命令的详细信息。
二、Git常用命令
1.进入项目目录
cd 路径 //进入项目目录
2.初始化本地git仓库
git init 初始化一个git仓库(repository),初始化完成之后会在
项目目录中自动创建一个.git隐藏文件夹,此文件夹是
git的版本记录,用来跟踪或者管理git仓库
3.查看版本库的状态
git status #查看当前git仓库的状态
git status -s #简单方式查看git仓库的状态
4.把工作区的文件添加到暂存区
git add 文件名 #把没有添加到暂存区的文件添加到暂存区(文件名可写多个)
git add . #把工作区没有添加到暂存区文件全部添加到暂存区(一次添加多个)
5.把缓存区的文件提交到本地仓库
git commit -m 提交的备注信息 //把加入暂存区的文件提交到本地仓库
commit 提交,-m表示给提交的内容添加描述信息,用来备注本次
提交的信息。
6.查看版本库的历史操作记录
git log #查看git操作的详细历史记录
比如:
commit b979bc1782e8f56750554323474da72ebca03553 #本次操作的版本号(commit id 版本号是唯一的)
Author: jinxizhen <842166299@qq.com> #用户信息
Date: Thu Jan 19 11:40:55 2017 +0800 #提交的日期
初始化了git仓库并创建index.txt #提交的备注信息
git log --oneline #把git操作日志简化为一行显示
git reflog #查看操作命令及日志
三、版本回退的git指令
拉取分支的方法
-
git init
初始化项目 -
git remote add origin git@github.com:XXXX/nothing2.git
自己要与origin master建立连接(下划线为远程仓库链接) -
git fetch origin develop
(develop为远程仓库的分支名)把远程分支拉到本地
以上是一个操作过程
1.修改的内容还没有添加到暂存区
git checkout -- 文件名
#撤销工作区最后一次修改的内容,
前提是修改的内容还没有添加到暂存区
2.修改的内容已经添加到暂存区,但是还没有提交到本地仓库
先使用 git reset HEAD 文件名
#撤销添加到暂存区的内容
再使用 git checkout -- 文件名
#回退到上一个状态
3.修改的内容已经提交到了本地仓库
git reset --hard 版本号
#回退到指定的版本号的状态
四、本地仓库和远程仓库的连接
1.从远程仓库克隆到本地 #克隆项目,把远程库创建的好的(已经有的项目)项目同步到本地
git clone https://git.oschina.net/jinxizhen/H21weather.git
git pull #同步远程库的文件到本地
git push #同步本地的文件到远程库
2.从工作目录连接远程库
git remote add origin git@git.oschina.net:jinxizhen/H21rili.git #连接远程库
先使用
git pull --rebase origin master #从远程库同步到本地
git push -u origin master #把本地仓库的内容推送到远程库
五、添加公钥 sshkey
1.ssh-keygen -t rsa -C “842166299@qq.com” #生成公钥(邮箱:注册码云的邮箱)
生成公钥的步骤
a.生成公钥时,会提示我们选择保存的路径,
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Jinxizhen/.ssh/id_rsa):
路径使用默认的,直接回车
b.如果提示已经存在,可以直接覆盖掉
/c/Users/Jinxizhen/.ssh/id_rsa already exists.
Overwrite (y/n)?
输入:y 然后回车
c.最后会提示输入密码
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
密码可以不用输入,直接回车,就可以生成公钥
d.成功的提示
Your identification has been saved in /c/Users/Jinxizhen/.ssh/id_rsa
Your public key has been saved in /c/Users/Jinxizhen/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:g1VOz7OAJMSq49Vc1pSzvlDLsItX+JtiMGqRqJSaakQ 842166299@qq.com
The key's randomart image is:
+---[RSA 3072]----+
| oo . o. |
| .o =+o |
| . oooo+ |
| E . o+ +. o |
|. .o +.oSB .. |
| ++ + = +.= |
|++ o o + = . |
|+.. o . = o. |
|+ . o .o. |
+----[SHA256]-----+
2.cat ~/.ssh/id_rsa.pub #查看公钥
比如输出:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC53lok+oPntpwg0E0p6z2Klxb7275YyWcWyxiQZk7sKL0J90xi1btvqd7MVEHH2UvuPluSKwyLVTQCmA1iWlqyRjuO4LBeY85feqkhKWi+haq5u9NEAcALS00vNH6URWS7Uz5gU1RIs3F9Ssd9V/VsWNJ28DVIGKYM2s8Vs0K1CQ3l0Ed0onlOsOb2vUa/5k8R64P8vS+EpV/1XsxH99cQK2tq8A6tyRBAGe406s/sNufV/EYvGcM9nQyz+QI/lxcoHCw0xc9kkezxk4X8uTxgwMBx5EkTmMzYxcr34jT+ltsMHULmaJPWoN4J55EdINY+9YzfpwqYABoQATjK0p8z 842166299@qq.com
3.ssh -T git@gitee.com #验证公钥是否添加成功,出现以下提示“successfully” 表示成功
Hi 金西振 (DeployKey)! You've successfully authenticated, but GITEE.COM does not provide shell access.
Note: Perhaps the current use is DeployKey.
Note: DeployKey only supports pull/fetch operations
六、分支操作
git branch -a 查看所有的远程的分支
git branch #查看所有分支,当前的分之前会有一个*符号
git branch 分支名 #创建一个分支
git checkout 分支名 #切换到指定的分支
git checkout -b 分支名 #创建一个分支,并切换到分支(相当于创建+切换)
git merge 分支名 #合并指定分支的内容到当前分支
git log --graph #查看分支合并信息
git branch -d 分支名 #删除分支
七、.gitignore文件
.gitignore 用来添加不需要上传到远程库的文件
把文件名写在.gitignore文件内即可,以/结尾表示目录,否则表示单个文件