1.新建代码库

  1. 当前目录创建一个git代码库

git init

  1. 新建一个目录文件 将其初始化为git代码库

    git init [pro-name]

  2. 远端拉去项目

    git clone [url]

2.基本配置

git的设置文件为.gitconfig,他可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)

  1. 设置提交代码时的用户信息

    git config [–global] user.name \'[name]\’

    git config [–global] user.email \'[email]\’

  2. 编辑git配置文件

    vim ~/.gitconfig

    image-20210804171709628

  3. 显示git配置

    git config –list

  4. 显示git配置

cat ~/.gitconfig

3.增加、删除文件

添加

  1. 添加自定文件到缓存区

    git add [file1] [file2] …

  2. 添加整个目录(文件夹…)到缓存区

    git add [dir]

  3. 添加所有目录到缓存区

    git add .

删除

  1. 删除工作区文件,并将删除放入缓存区

    git rm [file-Name]…

  2. 直接删除文件

    fir rm -fr [file-name]…

  3. 修改文件名称,并且将这个文件名放入暂存区

    git mv [old-name] [new-name]

4.提交代码

  1. 提交暂存区到仓库

    git commit -m \'[msg]\’

  2. 提交暂存区指定文件到仓库

    git commit [file1] [file2].. -m \'[msg]\’

  3. 提交工作区上次commit之后变化的,直接到仓库

    git commit -a (注意:尽量别这么干)

  4. 提交时显示所有diff(提交)信息

    git commit -v

  5. 使用一次新的commit ,代替上一次提交如果代码没有任何变化,这用来改写上一次commit的提交信息

    git commit –amend -m \'[msg]\’

5.分支管理

建立分支

  1. 列出所有本地仓库分支

    git branch

  2. 列出所有远端仓库分支

    git branch -r

  3. 列出所有本地和远端分支

    git branch -a

  4. 创建一个分支,但依然停留在当前分支

    git branch [name]

  5. 创建一个分支,并切换

    git checkout -b [name]

  6. 查看日志

    git log

image-20210804173908603

  1. 新建一个分支 只想指定的commit Id

    git branch [br -name] [commit]

切换分支

  1. 切换分支

    git checkout [name]

  2. 拉去最新变化

    git pull

新建分支,与远端建立关系

  1. 本机分支及信息全部推到远端

    git push -u origin [branchname]:[branchname]

  2. 查看origin信息

    git remote -v

  3. 新建一个分支,与远端分支建立关系

    git branch –track [branch] [remote branch]

    git branch –track DevOps_RC2 remotes/origin/DevOps_RC1

合并分支

git merge [name]

  1. 解决冲突

    在本地代码会有提示去修改即可,命令行不在多说

  2. 查看当前状态

    git status

删除分支

git branch -d [name]

  1. 查看当前分支详细信息

    git branch -av

  2. 删除远端分支

    git push origin –delete [name]

  3. 删除远程分支2

    git branch -dr [remotes.origin/br-name]

    git branch -av

总结

  1. 创建本地分支

    git checkout -b [name]

  2. 本地分支推送到远端

    git push origin [name]:[name]

6.标签tag

  1. 列出所有tag

    git tag

    git tag -l

    git tag –list

  2. 创建一个tag在当前cmmit

    git tag [name]

  3. 创建一个tag在指定的cinnit

    git tag [name] [commitId] -m \'[msg]\’

  4. 查看tag信息

    git show [tag-name]

  5. 提交置顶tag到远端仓库

    git push origin [tag-name]

  6. 提交所有tag

    git push origin –tag

  7. 机遇某个tag创建分支并切换

    git checkout -b [br-name] [tag-name]

7.查看信息

  1. 查看所有变动文件

    git status

  2. 显示当前分支的版本历史

    git log

  3. 显示commit历史,以及每次commit发生变动的文件

    git log –stat

  4. 显示某个文件历史版本,文件名

    git log –follow [file-name]

    git whatchanged [file-name]

  5. 显示自定文件相关的diff

    git log -p [file-name]

  6. 显示自定文件是什么人在什么时间修改的

    git blame [file-name]

  7. 显示暂存区和上一个commit的差异

    git diff –cached [commit id] 注意不写就是最新的

  8. 显示工作区与当前分支最新commit之间的差异

    git diff HEAD

  9. 显示两分钟之间的差异

    git diff [br-name] [br-name]

  10. 显示两次commit之间的差异

> git diff [commitid] [commitid]
  1. 显示目次提交元数据和内容变化

    git show [commit]

  2. 显示某次提交发生变化的文件

    git show –name-only [commit]

  3. 显示某次提交某个问价内容

    git show [commit]:[file-name]

显示所有提交

git reflog

8.远程同步

  1. 拉去远端仓库所有变动

    git fetch origin

  2. 显示所有远端仓库

    git remote -v

  3. 显示某个远端仓库信息

    git remote show origin

  4. 新增加一个仓库

    git remote add [shortname][url]

  5. 取回远程仓库的变化,并与本地分支合并

    git pull [remote] [branch]

  6. 上传本地指定分支到远程仓库

    git push [remote] [branch]

  7. 强行推送当前分支到远程仓库,即使有冲突

    git push [remote] –force

  8. 推送所有分支到远程仓库

    git push [remote] –all

9.撤销

  1. 恢复到暂存区的自定文件到工作区

    git checkout [file]

  2. 恢复某个commit的自定文件到工作区

    git checkout [commit] [file]

  3. 恢复上一个commit的所有文件到工作区

    git checkout .

  4. 重置暂存区的自定文件,与上一次commit保持一致,但工作区不变

    git reset [file]

  5. 重置暂存区与工作区,与上一次commit保持一致

    git reset –hard

  6. 重置当前分支的指针为指定 commit,同时重置暂存区,但工作区不变

    git reset [commit]

  7. 重置当前分支的 HEAD 为指定 commit,同时重置暂存区和工作区,与指定 commit 一致

git reset –hard [commit]

  1. 重置当前 HEAD 为指定 commit,但保持暂存区和工作区不变

git reset –keep [commit]

  1. 新建一个 commit,用来撤销指定 commit

  2. 后者的所有变化都将被前者抵消,并且应用到当前分支

    git revert [commit]

版权声明:本文为ypSharing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ypSharing/p/git.html