Git学习记录

Git学习日志

上传至远程仓库

一、进入项目所在文件夹,右键点击选择git bash here。(如果此文件夹里有.git文件,请删除!)

二、输入命令 git init

三、输入命令 git remote add origin https://…get(https://…get为在码云上新建项目时获取的链接地址)

四、输入命令git add . (add后面要有一个空格后再加上.

五、输入命令 git commit -m"xxx"“xxx”为备注信息,可写项目版本号,如:1.0、2.0等)

六、输入命令 git push origin master (git push -u origin master -f为强制提交代码上码云的命令,但最好还是使用git push origin master命令上传,如无特殊情况请勿使用强制命令上传)

七、在我的码云处查看项目是否上传成功!

配置ssh-key

生成秘钥

ssh-keygen -t rsa -C "你的邮箱"  //一直回车,然后y
~/.ssh/ 目录会生成 XXX-rsa (私钥)和 XXX-rsa.pub (公钥)

XXX-rsa.pub (公钥)复制到Git网页-设置-ssh配制-新建秘钥-粘贴

设置姓名和电子邮件地址:git config

git config --global user.name "XXX"
git config --global user.email XXX@163.com
配置.gitignore文件

不希望 Git 自动添加这些文件

.gitignore模式规则如下:

  • 空行或以开头的行将被忽略。#
  • 标准 glob 模式有效,并将在整个工作树中递归应用。
  • 您可以使用正斜杠 () 开始模式以避免递归。/
  • 您可以使用正斜杠 () 结束模式以指定目录。/
  • 您可以通过以感叹号 () 开始模式来否定模式。!

一、创建.gitignore文件

二、定义Git全局的 .gitignore 文件

git config --global core.excludesfile ~/.gitignore

三、举例文件内容

#               表示此为注释,将被Git忽略
*.a             //表示忽略所有 .a 结尾的文件
!lib.a          //表示但lib.a除外
/TODO           //表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/          //表示忽略 build/目录下的所有文件,过滤整个build文件夹;
doc/*.txt       //表示会忽略doc/notes.txt但不包括 doc/server/arch.txt
 
bin/:           //表示忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin:           //表示忽略根目录下的bin文件
/*.c:           //表示忽略根目录下.c文件,不忽略 build/.c文件
debug/*.obj:    //表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj
**/foo:         //表示忽略/foo,a/foo,a/b/foo等
a/**/b:         //表示忽略a/b, a/x/b,a/x/y/b等
!/bin/run.sh    //表示不忽略bin目录下的run.sh文件
*.log:          //表示忽略所有 .log 文件
config.php:     //表示忽略当前路径的 config.php 文件
 
/mtk/           //表示过滤整个文件夹
*.zip           //表示过滤所有.zip文件
/mtk/do.c       //表示过滤某个具体文件
实际应用
.gitignore应用

要忽略.idea文件夹及其下面所有文件的变更,你只需在.gitignore文件中添加以下一行:

.idea/

如果你之前已经将.idea目录或其下的文件添加到了Git仓库中,执行以下步骤来从Git跟踪中移除:

git rm -r --cached .idea/

提交这个更改到Git仓库:

git commit -m "Remove .idea directory from Git tracking"

注: git rm 与git rm --cached区别

当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用git rm file_path

如若本地又需要使用, 只是不希望这个文件被版本控制, 可以使用git rm --cached file_path

回退操作

**情况1:**最近一次提交的记录有遗漏未提交,将两个commit合为一个

git commit --amend // 把上一次的commit记录去除,修改commit信息。

a或者i或者o进入编辑模式,修改好commit信息后按Esc键退出编辑模式,然后:wq保存编辑的信息。

**情况2:**回退代码到某次 commit

git log   //查看提交记录

说明:commit 单词后面红框里的十六进制字符串,就是每次提交代码时,git生成的唯一记录编码。Git 可以通过该编码准确锁定每次的提交记录)

git reset --hard commitID   //回退代码到某次 commit

(其中,commitID 根据实际情况,确定需要回退的 commit 记录ID。)

git reset --soft // 回退到指定commit,该commit之后的提交内容,保留工作目录,并把重置 HEAD 所带来的新的差异放进暂存区
git reset --hard // 回退到指定commit,该commit之后的提交内容,工作区和暂存区的内容都被抹掉
git reset 或 git reset --mixed // 不带参数,或带参数–mixed(默认参数),与git reset --soft 不同,它将会把差异放到工作区

代码冲突

本地代码不是最新代码,既要更新代码 又要提交编写代码

先更新在提交 详细参考–链接

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值