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 --helpgit <命令> --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指令

拉取分支的方法

  1. git init
    初始化项目

  2. git remote add origin git@github.com:XXXX/nothing2.git
    自己要与origin master建立连接(下划线为远程仓库链接)

  3. 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文件内即可,以/结尾表示目录,否则表示单个文件