具体 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
- 先新建一个文件夹,和仓库名字一致,例如就叫
test-demo - 在这个文件夹中,书写自己的代码.
- 如果有不想上传到 github 上面的代码,可以 新建一个文件
.gitignore(名字不能修改!必须是这个.) - 在项目目录
test-demo下,打开终端
- 输入
git init(初始化一个git仓库)- 输入
git add .- 输入
git commit -m '第一次上传文件'
- 在之前的
git仓库中, 复制最后2条命令 依次输入到终端下.
git remote add origin git@gitee.com:zyzl22/test-demo.git
git push -u origin master
-
如果点了
使用Readme文件初始化这个仓库此时,我们在第5步之前,需要 先运行git pull --rebase origin master把线上的文件拉到本地.之后就可以正常操作了. -
如上,代码就被上传到我们之前建立的
仓库中. 出现如下代码,表示成功.
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 配置用户名和邮箱
- 先检测
git本地是否安装
git status //显示版本号表示已经安装了.
- 配置
用户名, 最好和github上面一样
git config --global user.name ‘名字’
- 配置
邮箱, 最好和github注册的邮箱一致
git config --global user.email
邮箱地址
- 怎么判断我们配置的
用户名和邮箱是否正确呢?,如下命令
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 想要给文件重命名时如何操作
- 手动修改
- 案例: 将demo2.html 修改成 home.html
git add .
git rm demo2.html
git commit -m '手动重命名文件'
git push -u origin master
git命令修改
- 案例: 将 home.html 修改成 demo2.html
git mv home.html demo2.html
git commit -m '命令行重命名文件demo2'
git push -u origin master
10 想要移动文件到其他位置时如何进行操作
- 把文件放到文件夹中
案例: 把 demo.html 放到同级的 home 文件夹中
git mv demo.html home
git commit -m '移动文件夹'
git push -u origin master
- 把文件放到文件夹中且修改文件的名称
案例: 把demo2.html 放到 home 文件夹下, 且修改为 home.html
git mv demo2.html home/home.html
git commit -m '移动文件并且重命名'
git push -u origin master
11 文件有变化时如何查看文件前后变化
- 第一种方式
案例: 查看 home/home.html 的文件前后变化
git log --pretty=oneline home/home.html //查看id,并赋值id
git show f5e3cdaf365022d09362086b1ae35472773cfa7b
- 第二种方式
案例: 查看 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 .之后就可以用12的checkout命令来还原了. -
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 63a8b447d2370d5d2fe5ae119f1d16b483711cd463a8b447d2370d5d2fe5ae119f1d16b483711cd4就是id
15 想要将某一个文件回到指定版本时如何进行操作
案例: 例如我们需要将 version.html 这一个文件回到过去的某个版本 ,其他文件保持原状.
git checkout 44ad6946fb3cd5a3edbc3d9888fdd186ac18d9e2 -- version.html44ad6946fb3cd5a3edbc3d9888fdd186ac18d9e2是git log查到的具体id,version.html是我们需要还原的文件.
16 想要修改内容之后推送至远程仓库时如何进行操作
git add . //加到暂存区
git commit -m '描述` //提交到本地库
git push origin master //提交到线上
17 想要给每个版本创建一个独特标签,做所有版本标签管理时如何操作
- 命令
git tag v1.0v1.0是自己取得标签名 - 查看
标签git tag
加的标签是默认加在最新的一次提交中.
给 指定id 创建一个 标签
git tag v0.5 2f9b69385088b1b8593c76bb622923f7a1f5d5a8v0.5是我们自己取得标签名,2f9b69385088b1b8593c76bb622923f7a1f5d5a8是git log的id
删除标签
- 命令
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 想要合并分支时如何进行操作
案例: 现在 子分支 上写代码,然后合并到 主分支
- 先进入
子分支例如dev, 修改代码. git add .提交,然后git commit -m '改dev分支的代码'- 切换到
主分支master命令是git checkout master - 合并分支到主分支
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
解决方法
git merge -abort忽略其他分支的代码, 保存此时分支的代码- 手动删除代码,
<<<<<<< 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 xxx 再 git push 继续提交.
本文详细介绍了Git和GitHub的使用方法。包括Git的安装、GitHub账号注册、仓库创建、代码上传等基础操作,还涵盖了文件修改、删除、重命名、移动,版本管理、分支操作、冲突解决等内容,为使用Git和GitHub进行代码管理提供了全面指导。
7859

被折叠的 条评论
为什么被折叠?



