git 常用命令学习

244 阅读6分钟

Git入门

注意:仅个人学习不做商用

  1. 创建版本仓库

  2. 添加文件

  3. 查看结果

  4. 提交修改

  5. 查看提交日志

  6. 回退到上一个版本

  7. 查看每次的命令记录

  8. 丢弃工作区的修改

  9. 丢弃缓存区的修改

  10. 从仓库中删除文件(误删还原)

  11. 创建远程仓库

  12. 分支管理

  13. 解决冲突

  14. 临时修复bug

  15. 远程库

  16. 推送分支

  17. 多人合作

  18. 标签管理

以上18点Git基本操作参考公众号:全栈软件测试之路 mp.weixin.qq.com/s/BpL7fT3VV…

Git配置SSH Key

  1. 检查本机是否有ssh key设置,切换到.ssh目录

    cd ~/.ssh 或cd .ssh
    
  2. 配置git用户名和邮箱

    # 添加用户
    git config --global --add user.name "username"
    # 添加邮箱
    git config --global --add user.email "email"
    
    # 查看配置
    git config --list
    
    # 移除用户
    git config --global --unset user.name "username"
    
    # 移除邮箱
    git config --global --unset user.email "email"
    
    # 移除用户或邮箱,解决warning: user.email 有多个取值
    git config --global --replace-all user.email "email"
    
  3. 生成成对的私钥公钥

    ssh-keygen -t rsa -C "test@qq.com"
    

    注:生成id_rsa私钥公钥时需要命不同文件名,密码可设可不设。

  4. 添加ssh key到对应的GitHub或GitLab上面: 登录GitHub系统;点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。复制id_rsa.pub的公钥内容到Key填写框内。

  5. 测试公钥配置是否成功

    ssh -T git@github.com 
    

同一台PC端配置多个git账号(windows)

  1. 第一个账号的设置跟上面的一样
  2. 第二个账号设置时重命名文件id_rsa, 后面的步骤可以一路回车
$ ssh-keygen -t rsa -C "test@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Admin/.ssh/id_rsa):/c/Users/Admin/.ssh/id_rsa_github
  1. 在/c/Users/Admin/.ssh 目录下新建文件config,进行配置:
# gitee.com
Host gitee.com
    Hostname gitee.com
    User git
    PreferredAuthentications publickey
    IdentityFile C:\Users\\admin\.ssh\id_rsa
# github server
Host github.com
    Hostname github.com
    User git
    PreferredAuthentications publickey
    IdentityFile C:\Users\\admin\.ssh\id_rsa_github
  1. 添加ssh key到对应的GitHub或GitLab上面: 登录GitHub系统;点击右上角账号头像的“▼”→Settings→SSH kyes→Add SSH key。复制id_rsa.pub的公钥内容到Key填写框内。
  2. 测试:
ssh -T git@github.com


ssh -T git@gitee.com

合并分支

合并步骤:

  1. 进入要合并的分支(如开发分支合并到master,则进入master目录)

    git checkout master
    git pull
    
  2. 查看所有分支是否都pull下来了

    git branch -a
    
  3. 使用merge合并开发分支

    git merge 分支名
    
  4. 查看合并之后的状态

    git status
    
  1. 有冲突的话,通过IDE解决冲突;

  2. 解决冲突之后,将冲突文件提交暂存区

    git add 冲突文件
    
  1. 提交merge之后的结果

    git commit
    

    如果不是使用git commit -m "备注" ,那么git会自动将合并的结果作为备注,提交本地仓库;

  2. 本地仓库代码提交远程仓库

    git push
    
  3. 删除本地分支

git branch -D develop
  1. 删除远程分支
git push origin --delete dev20181018

git将分支合并到分支,将master合并到分支的操作步骤是一样的。

如果本地分支比master分支版本低,怎么办?

  1. 将master分支合并到本地分支: git merge master
  2. 查看是否有冲突:git status
  3. 有冲突的话,通过IDE解决冲突;
  4. 解决冲突之后,将冲突文件提交暂存区: git add 冲突文件
  5. 提交merge之后的结果:git commit -m 备注
  6. 本地仓库代码提交远程仓库: git push

常用命令

git clone	url	                    #克隆远程仓库
git --version                  #查看git的版本信息

git branch                     #查看本地所有分支
git branch -a                   #查看所有的分支
git branch -r                    #查看远程所有分支
git branch dev	                #创建分支
git branch -D master develop           #删除本地库develop
git checkout dev	                  #切换到本地dev分支
git checkout -b dev	              #创建分支并切换分支
git checkout --track origin/dev           #切换到远程dev分支

git commit                   #提交 
git commit -am "test"                #提交并且加注释 
git commit -m [message]	              #提交暂存区到仓库区
git commit -v	                    #提交时显示所有diff信息

git status                      #查看当前状态 
git remote show                 #查看远程库
git remote add origin url	            	#添加远程库
git remote show origin                 #显示远程库origin里的资源

git pull                     #本地与服务器端同步
git push origin master               #将文件给推到服务器上 
git push origin master:develop	           #将本地库develop与服务器上的库进行关联
git push origin master:my-dev             #将本地库与服务器上的库进行关联

#将分支dev与当前分支进行合并
git merge origin/dev

#将文件加入git
git add read.txt
#从git中删除指定文件
git rm read.txt	                 

# 推动本地分支到远程仓库
git push origin feature-branch:feature-branch

# 删除本地分支
git branch -d dev20181018
# 强制删除本地分支
git branch -D master
# 删除远程分支
git push origin --delete dev20181018

# 删除缓存区.idea(保留工作区.idea)
git rm --cached -r .idea
# 提交gitiginore文件,将.idea从源代码仓库中删除(-m 表示注解)
git commit -m "commit and remove .idea"
#推送到远程端
git push origin master

# 查看被修改的内容
git diff <文件名路径>

# 查看暂存区的文件
https://www.cnblogs.com/panbingwen/p/10736915.html
git ls-files

# 查看暂存区中文件的内容
git ls-files -s -- bb.txt 或者直接 git ls-files -s

git cat-file -p 6cef

将本地代码上传到远程仓库

  1. 远程仓库新建仓库

  2. 本地仓库代码提交到暂存区

    git init
    git add .
    git commit -m 'init project'
    
  3. 暂存区代码提交到远程仓库

    git remote add origin git@github.com:username/***.git
    git push -u origin master
    

恢复被修改的文件

执行了git add操作, 取消暂存

git restore --staged 1.txt

文件已经到了暂存区,即之行了git add 和 git commit 操作

git reset HEAD -- 1.txt
git checkout -- 1.txt

文件已经push到了远程仓库

git log <file_name>    # 得到commit 时的hash
git checkout <hash> <file_name>    # 这时就已经恢复到指定的提交版本了
git commit -m "revert to previous version"    # 重新提交文件

git终端中文乱码怎么办

git status 乱码

解决方法: git config --global core.quotepath false

git commit 乱码

解决方法: git config --global i18n.commitencoding utf-8

git status 乱码

解决方法: git config --global i18n.logoutputencoding utf-8

大车常用命令

1、进入root权限
sudo su -
2、进入wwwroot
cd /data/wwwroot
3、查看该文件下全部文件
ll
4、进入xiaoe_admin
cd xiaoe_admin
5、查看
ls
6、进入需要的文件里面
7、查看远程分支
git branch
8、查看日志
git log -p
问题点

此时要从当前分支切换到另一个分支

1、再次查看远程分支
git branch
2、查看当前文件下所有的分支
git fetch --all
3、查找该文件下 tag的灰度
git tag |gre
4、切到想要的tag下
git tag |grep 8.49.3
5、切换分支
git checkout 8.49.3
6、再查看分支是否切成功
git branch