具体 git命令
https://www.cnblogs.com/convict/p/10795320.html

01 git的安装

检测当前电脑有没有安装 git

git --version

如果没有显示版本号,则进入官网 https://git-scm.com/ 按照系统识别安装git版本.


02 github的简介以及账号注册

地址: https://github.com/


03 仓库的概念以及如何创建仓库

Git 网站中点击 添加仓库 填入, 仓库 名称, 描述等即可.


04 上传代码至github

  1. 先新建一个文件夹,和仓库名字一致,例如就叫 test-demo
  2. 在这个文件夹中,书写自己的代码.
  3. 如果有不想上传到 github 上面的代码,可以 新建一个文件 .gitignore (名字不能修改!必须是这个.)
  4. 在项目目录 test-demo 下,打开终端
  1. 输入 git init (初始化一个git仓库)
  2. 输入 git add .
  3. 输入 git commit -m '第一次上传文件'
  1. 在之前的git仓库中, 复制最后2条命令 依次输入到终端下.

git remote add origin git@gitee.com:zyzl22/test-demo.git
git push -u origin master

  1. 如果点了 使用Readme文件初始化这个仓库 此时,我们在 第5步 之前,需要 先运行 git pull --rebase origin master 把线上的文件拉到本地.之后就可以正常操作了.

  2. 如上,代码就被上传到我们之前建立的 仓库 中. 出现如下代码,表示成功.

zhangqiang@zhangqiang:~/Desktop/daywork/daywork/2020/12/1227/02-mayun/test-demo (master) % git remote add origin git@gitee.com:zyzl22/test-demo.git
zhangqiang@zhangqiang:~/Desktop/daywork/daywork/2020/12/1227/02-mayun/test-demo (master) % git push -u origin master
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 12 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 787 bytes | 787.00 KiB/s, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-5.0]
To gitee.com:zyzl22/test-demo.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

05 想要找到所有的操作记录时如何进行操作

  • 查看当前项目的 git状态

git status

  • 查找之前项目所有git提交记录

git log

  • 查看某一个人的提交记录

git log --author=‘名字’


06 配置用户名和邮箱

  1. 先检测 git 本地是否安装

git status //显示版本号表示已经安装了.

  1. 配置用户名, 最好和 github 上面一样

git config --global user.name ‘名字’

  1. 配置邮箱, 最好和 github 注册的邮箱一致

git config --global user.email 邮箱地址

  1. 怎么判断我们配置的用户名邮箱是否正确呢?,如下命令

git config --global --list


07 想要修改项目中的文件时如果进行操作

  • 先正常修改文件,然后运行如下命令,将代码提交到线上.
git add .  //提交所有代码  // 把文件放到暂存区
git commit -m '测试提交'  // 将暂存区的内容提交到本地库
git push -u origin master   // 本地库某个分支推送到远程库,分支必须指定

08 想要删除不需要的文件时如何进行操作

  • 正常删除, 然后提交代码
git add .  //提交所有代码  // 把文件放到暂存区
git commit -m '测试提交'  // 将暂存区的内容提交到本地库
git push -u origin master   // 本地库某个分支推送到远程库,分支必须指定
  • git 命令删除

git rm demo3.html(文件名)

git rm demo3.html(文件名) //删除
git add .  //提交所有代码  // 把文件放到暂存区
git commit -m '测试提交'  // 将暂存区的内容提交到本地库
git push -u origin master   // 本地库某个分支推送到远程库,分支必须指定

09 想要给文件重命名时如何操作

  1. 手动修改
- 案例: 将demo2.html 修改成 home.html

git add .
git rm demo2.html
git commit -m '手动重命名文件'
git push -u origin master
  1. git命令 修改
- 案例: 将 home.html 修改成 demo2.html
git mv home.html demo2.html
git commit -m '命令行重命名文件demo2'
git push -u origin master


10 想要移动文件到其他位置时如何进行操作

  1. 把文件放到文件夹中

案例: 把 demo.html 放到同级的 home 文件夹中

git mv demo.html home
git commit -m '移动文件夹'  
git push -u origin master 
  1. 把文件放到文件夹中且修改文件的名称

案例: 把demo2.html 放到 home 文件夹下, 且修改为 home.html

git mv demo2.html home/home.html
git commit -m '移动文件并且重命名'  
git push -u origin master 

11 文件有变化时如何查看文件前后变化

  1. 第一种方式

案例: 查看 home/home.html 的文件前后变化

git log --pretty=oneline home/home.html  //查看id,并赋值id
git show f5e3cdaf365022d09362086b1ae35472773cfa7b
  1. 第二种方式

案例: 查看 home/demo.html 的文件前后变化

git log -p home/demo.html

12 操作失误的情况下如何实现一键还原

案例: 例如修改了 home\home.html 里面的内容,但其实并不需要修改,则 可以用 git 让这个文件,还原到上一次修改的状态.

  • git checkout -- home/home.html

如上,就可以把文件还原到上一次提交时候的状态.


13 不再追踪时如何实现撤销追踪操作

案例: 例如修改了 home\home.html 里面的内容, 然后git add . 提交之后, 用 checkout 就不行了. 需要下面的方式来操作.

  • 撤销追踪, 等于对这个文件撤销了 git add . 之后就可以用 12checkout 命令来还原了.

  • git reset HEAD home/home.html

  • git checkout -- home/home.html


14 想要回到上一版本或者指定版本时如何进行操作

案例: 新建文件 version.html 然后依次修改并依次提交 5个版本.

  • git reset --hard HEAD^ 一个 ^ 就是上一个版本, 二个^^ 就是上二个版本.

还有一个方法,就是用 git log 拿到具体的 id 然后通过下面命令来指定回到特定版本

  • git reset --hard 63a8b447d2370d5d2fe5ae119f1d16b483711cd4 63a8b447d2370d5d2fe5ae119f1d16b483711cd4就是id

15 想要将某一个文件回到指定版本时如何进行操作

案例: 例如我们需要将 version.html 这一个文件回到过去的某个版本 ,其他文件保持原状.

  • git checkout 44ad6946fb3cd5a3edbc3d9888fdd186ac18d9e2 -- version.html 44ad6946fb3cd5a3edbc3d9888fdd186ac18d9e2是git log查到的具体id, version.html 是我们需要还原的文件.

16 想要修改内容之后推送至远程仓库时如何进行操作

git add .  //加到暂存区
git commit -m '描述`  //提交到本地库
git push origin master  //提交到线上

17 想要给每个版本创建一个独特标签,做所有版本标签管理时如何操作

  • 命令 git tag v1.0 v1.0是自己取得标签名
  • 查看标签 git tag

加的标签是默认加在最新的一次提交中.

指定id 创建一个 标签

  • git tag v0.5 2f9b69385088b1b8593c76bb622923f7a1f5d5a8 v0.5 是我们自己取得标签名, 2f9b69385088b1b8593c76bb622923f7a1f5d5a8git logid

删除标签

  • 命令 git tag -d v0.5

上传标签到线上

  • git push origin v1.0

18 想要创建,切换,删除分支时如何操作

创建分支

git branch dev dev是自己取得分支名

查看当前分支

git branch

切换分支

git checkout dev

删除分支(不能删除当前所在的分支,如果当前分支有 commit 的操作也是不能删除的)

git branch -d dev

如果 当前分支已经做了commit 操作,还需要删除这个分支,可以用强制删除, 如下命令

git branch -D dev

创建一个分支并进入这个分支

git checkout -b test2 这里的 test2新分支的名字.


19 想要合并分支时如何进行操作

案例: 现在 子分支 上写代码,然后合并到 主分支

  1. 先进入 子分支例如dev , 修改代码.
  2. git add . 提交,然后git commit -m '改dev分支的代码'
  3. 切换到 主分支master 命令是git checkout master
  4. 合并分支到主分支 git merge dev, //把 dev分支合并到 主分支

20 当合并分支有冲突如何正确的合并分支

案例: 在master分支中修改了test.html文件,之后git add . git commit -m master分支修改test.html 之后再切换到 dev分支, 也进行修改.之后提交,那么在合并时,就出现问题.

合并分支到主分支: git merge dev ,此时会出现如下冲突.

<<<<<<< HEAD
    <div id="test">这是master分支的代码</div>
=======
    <div id="test">这是dev分支的代码</div>
>>>>>>> dev

解决方法

  1. git merge -abort 忽略其他分支的代码, 保存此时分支的代码
  2. 手动删除代码, <<<<<<< HEAD, =======,>>>>>>> dev 之后再 git add ., git commit -m xxx, git push origin master

21 不同人想要查看版本路线如何进行操作

git log 查看日志
git log --oneline 简写查看日志
git log --oneline --graph 查看路线

*   ab57a36 (HEAD -> master, origin/master) 合并之后的代码
|\  
| * d37220d (dev) dev上的代码
| * f314a22 这是dev分支修改
* | 99074b8 master的代码
* | 733833f 解决冲突之后的代码
* | 6a9c16d 这是master分支修改
|/  
* 9a4e8ff 修改dev分支的代码
* c3d0d6b (origin/dev) 修改css文件
* a9b7419 (tag: v1.0) 增加css和js文件
* 2f9b693 初始化项目
* 9d1bf09 Initial commit

22 不同人想要删除不想要的分支如何操作

git fetch 拉取远程仓库 (抓取远程库的指定分支到本地,但没有合并)
git branch -av 查看所有分支

删除分支
git push origin --delete 分支名 这样就删除了这个分支了. 但是一定要确保这个分支确实不需要了.


23 不同人修改了不同文件如何处理

get fetch 拉取所有分支到本地.

不同人处理不同的文件, 可以直接上传. 之后 merge 到主分支上面去.


24 不同人修改相同的文件如何处理

查看线上分支 git branch -av
在本地新建一个仓库,并和线上一致且进入这个分支 git checkout -b test remotes/origin/test remotes/origin/test就是线上的分支,使用上面的代码查出来的.

以此提交,如果失败,用 git pull 拉取不同的部分, 修改好之后, git add . git commit -m xxxgit push 继续提交.


Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐