Git使用笔记
来源:互联网 发布:8090端口是干嘛的 编辑:程序博客网 时间:2024/05/17 03:43
Git笔记
tortoiseGit图标
- 新创建的文件没有图标
- 已经添加到暂存区的文件具有蓝色+
- 已经修改的文件具有红色!
- 已经提交到本地仓库的文件具有绿色√
- 冲突的文件具有:黄色!
使用命令+文字描述以下过程:
实现在桌面中创建一个git项目,在项目中添加文件,并提交到本地仓库的操作步骤
- mkdir app
- cd app
- git init
- touch 1.txt
- git add *
- git commit -m 第一次提交
在公司里面,我自己在github中创建了一个空仓库,为了把本地代码上传到这个仓库中,我应该执行哪些操作
- mkdir app
- cd app
- git init
- touch 1.txt
- git add *
- git commit -m 第一次提交
- git push 服务器仓库地址 master
在公司里面,领导让我对某个github的项目进行二次开发(2+次开发),比如我要开发一个新功能(比如添加test.html文件),我应该执行哪些步骤从而将test.html文件提交到服务器中
+ mkdir app
+ cd app
+ git init
+ git pull 仓库地址 master
+ touch test.html
+ git add *
+ git commit -m 添加了一个test.html文件
+ git push 仓库地址 master
如果当前位于cart分支,我需要将cart分支合并到master分支,我应该执行哪些操作
- git checkout master
- git merge cart -m 合并了分支
命令默写
想要查看分支切换的操作日志,通过什么命令可以实现?
- git reflog
版本回滚
- git reset –hard 版本号
创建新分支
- git branch 分支名
删除某个分支
- git branch -d 分支名
切换分支
- git checkout 分支名
分支合并
git merge 分支名 -m 备注信息
查看所有分支–>并说明如何辨别当前位于哪个分支
- git branch
- 分支前面带有*的是当前分支
Bash 命令
pwd (print working directory) 打印出当前目录路径的全名称
ls (list) 列举出当前目录(文件夹)下面的所有的子文件和子文件夹,
ls -a 列举出隐藏文件 ls 指定目录
cd (change directory) 切换当前位于的文件夹
cd 指定的文件夹路径 切换当前路径
mkdir (make dirctory) 创建文件夹
默认情况下,只能在当前目录下面创建文件夹 可以连续创建多个文件夹:mkdir a1 a2 a3
也可以在指定目录下面创建文件夹:mkdir 指定的文件夹路径/新文件夹名称
–>要确保指定的文件夹路径存在
mkdir 目录1/目录2/目录3 -p –>可以连续创建多级目录,哪怕目录1/目录2都不存在,如果某个目录不存在,先创建该目录,再创建子目录
rmdir (remove directory) 只能删除空文件夹
rm -rf 递归删除指定的文件/文件夹
其中rm是删除文件
rm -f 如果说要删除的文件、文件夹不存在,不会显示错误信息
rm -r 递归删除(常用于删除非空文件夹)
–>不能删除自身,也不能删除父目录(不能含有.和..)
touch 创建文件
touch 含有后缀的文件名
默认是在当前目录下面创建指定的文件
连续的在当前目录下面创建多个文件
touch 文件夹/文件名:在指定文件夹下面创建指定的文件
cp 复制文件
cp 源文件的路径(文件夹+文件名) 新文件的路径(文件夹)
mv (move) 移动文件
mv 源文件的路径(文件夹+文件名) 新文件的路径(文件夹)
mv 源文件的路径(文件夹+文件名) 新文件的路径(文件夹)+新文件名
vi编辑器
vi 文件名:打开一个窗口,实现对该文件进行编辑
进入编辑模式:i或者a键
退出编辑模式:esc键
如果当前不处于编辑模式,想要实现保存的功能:”:w”
………………….想要实现退出的功能:”:q”
…………………想要实现保存并退出的功能:”:wq”
–>ps:如果当前位于编辑模式,应该首先退出编辑模式,然后再实现保存or退出的功能
cat 查看文件
cat 文件名 可以查看txt/css/js等简单格式(不需要解码)的文件
Git 命令
git init 初始化
通过git init 将当前文件夹进行初始化,初始化后文件夹下会生成一个.git 的隐藏文件夹,如果不需要监控当前文件夹,可直接删除这个文件夹即可
–> 一定要明确你要将哪个文件夹被git管理起来
git status 查看仓库中的相关的文件状态
git status可以查看仓库中的相关的文件状态
如果当前文件夹下面的某个文件夹是空的,不会显示在结果中
git add 将指定的文件放到暂存区(新增或修改的文件)
在往git仓库中添加文件的时候,这些刚添加的文件,状态是:未追踪(Untracked);
使用git add 文件名–>将指定的文件放到暂存区,默认将修改的文件和未跟踪新添加的文件添加到git系统的暂存区;
注意并不包括删除的文件
把文件放到暂存区之后,状态是:待提交(changes to be committed)
git add * 或者 . –>将当前仓库中的所有的没有被提交到暂存区的代码放到暂存区
git add -u 或者 git add –update 表示将(修改和删除的文件)的操作告诉暂存区
git add -A 或者 git add –all 表示将所有的修改与删除和未跟踪的文件都告诉暂存区。
用户名和邮箱的配置
–> git config –global user.name xxx
–> git config –global user.email xxx@qq.com
–> –global 选项可实现在本机一次配置多次使用
–> git config –global –unset user.name xxx 移除全局用户名
git commit
git commit -m 提交备注信息 将暂存区的文件提交到本地主仓库
git push
git push 服务器仓库的地址(https) master –>将本地主仓库中的代码上传到服务器中
将服务器地址保存以后就可以使用 git push 保存的名称
git remote add/remove 服务器地址保存/删除
git remote add 名称 服务器仓库地址
git remote remove 名称 把本地保存的服务器地址删除
通过git remote 获取本地保存的所有的服务器地址
配置SSH连接github
在本地生成秘钥:ssh-keygen -t rsa
找到秘钥生成的目录,将公钥放到Github中
a、github点击右上角人物头像
b、选择settings菜单
c、选择SSH相关菜单
d、选择添加一个SSH
e、输入ssh的名称,已知内容(就是公钥)将公钥放入其中,保存即可
在本地测试 ssh git@github.com看看是否成功
Hi chengxc! You’ve successfully authenticated, but GitHub does not provide shell access.
提交代码 –>服务器仓库为空
git init
touch 1.txt
git add *
git commit -m 提交信息
git push 服务器地址 分支(默认master)
提交代码 –>服务器仓库已经有内容
git init
git pull 服务器仓库地址 master –>把远程仓库的代码更新到本地,将本地仓库和远程仓库形成仓库,后面就可以实现同时开发
其它步骤操作一致 add commit push
git clone 服务器仓库地址
.gitignore 设置文件不让git管理
在.git同级目录添加一个文件,叫 .gitignore
创建这个文件名的时候,
a: 文件名:”.gitignore.”
b: bash命令:touch .gitignore
打开.gitignore进行编辑,一行一行的添加不需要git管理的文件
可以设置同类型的文件:.js .css
也可以设置整个目录:
a/*–>a目录下面的所有文件
a/*.js–>a目录下面的所有js文件
删除服务器中的文件
第一种方式:
rm 文件名
git add 文件名 (必须输入文件名加后缀,输入 * 无效)
git commit -m 提交
git push 远程服务器 master第二种方式:
git rm 文件名
git commit -m 提交
git push 远程服务器 master一个细节:如果某个文件在暂存区,没有进入到本地仓库,也没有进入服务器仓库
git rm 无法正常删除文件
git rm xxx -f 可以实现把文件删除(文件已提交到暂存区的情形下)
如果不在本地主仓库(暂存区和本地仓库),git rm 无法操作
git diff HEAD – 查看工作区和版本库区别
git diff HEAD – 文件名 命令可以查看工作区和版本库里面最新版本的区别
git log 查看提交日志
git log –oneline 每一次提交的(短)版本号,以及备注信息
git reflog 查看版本命令日志
git reflog 查看历史记录
这些历史记录包括:每一次提交的信息;以及每一次版本回滚的操作;分支切换操作
git reset –hard 回到某个版本
git reset –hard 版本号
git reset –hard HEAD^ 退回到上一个版本 ^表示向上
上上一个版本就是HEAD^^,往上 100 个版本写 100 个^比较容易数不过来,所以写成 HEAD~100。
git reset HEAD
git reset HEAD 文件名 将文件从暂存区移除,对工作区的文件不产生影响
git checkout –
git checkout – 文件名 将文件从仓库区(包括暂存区stage和主仓库区master)取出并替换工作区的同名文件,就是让这个文件回到最近一次git commit或git add时的状态
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景 1,第二步按场景 1 操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。
git branch
查看当前拥有的所有分支(带*前缀的是当前的分支)
git branch 分支名
在当前分支下创建新分支
–>新分支会继承所有的当前分支到目前为止的所有代码
git checkout 分支名
git checkout 分支名 切换到指定分支下面去
git checkout -b 分支名 加上 -b 参数表示创建并切换
git merge 分支名 -m 备注信息 将指定分支合并到当前分支下
git branch -d 分支名 删除指定的分支
注意事项
无论是创建分支还是合并分支时刻警醒当前位于哪个位置
对于一个仓库,如果没有任何本地提交,git branch 没有结果
不要在本地分支上push代码
- git - git 命令使用笔记
- git使用笔记
- git使用笔记
- git 安装使用笔记
- Git使用笔记
- Git使用笔记
- GIT使用笔记
- Git使用笔记(一)
- git使用笔记【转】
- git使用笔记
- git 安装使用笔记
- git使用笔记
- git使用笔记
- Git使用笔记
- git 使用笔记
- git使用笔记
- git 使用笔记
- Git使用笔记
- 初学JDBC
- [第七季]4.控制DIV的选取
- 集训第十三天(2017/8/12)刷二分法的题
- 南阳-108-士兵杀敌(一)
- edge浏览器整理收藏夹 找不到收藏夹
- Git使用笔记
- 数组的合并与拆分
- 求最大公约数问题
- c#程序在部分电脑运行异常解决方法(System.Runtime.InteropServices.COMException (0x80070422): 无法启动服务)
- hibernate简单应用
- HDU 4417 Super Mario (树状数组 + 离线)
- 问题 D: 地宫取宝
- 12个小球中,有一个小球质量M与其他11个小球不同,只能测试3次,怎么可以找出它?
- ZOJ 3469 Food Delivery (区间DP)