【笔记】Git使用记录

【笔记】Git使用记录

一、相关概念和教程

参考 廖雪峰官网教程

git-br-policy

二、常用的命令介绍

1)git安装

1)linux上安装:

sudo apt-get install git

2)Windows安装:

在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。

安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

2)设置

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

git config --global user.name "your_name"
git config --global user.email "email@mail.com"
3) 创建版本库

1)git init

git init命令可以把当前目录变成git可管理的仓库; 瞬间Git就把仓库建好了,可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

如果你没有看到.git目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看见

4)提交
  1. git add readme.txt

  2. git commit -m "message"

git add 暂存文件,将文件的快照放入暂存区域。

git commit 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。更新存档 ;

5) 查看仓库当前的状态

git status

git diff "file_name"

要随时掌握工作区的状态,使用git status命令。

如果git status告诉你有文件被修改过,用git diff可以查看修改内容。

6)查看提交日志

git log

加上 --pretty=oneline 参数 每条记录显示一行,方便查看; 输入由commit_idmessage组成;

3f53c420601b5106e552dbf70f3692c264dcda2e 第3次commit
469c11a31c9f792ce49c92780613d852e441fbc8 第3次commit
f78c9ed38184248cb5879d134b057b5bbba27648 第1次commit
7) 查看命令历史

git reflog

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
8)版本回退

git reset

git reset --hard HEAD^

Git仓库中,用HEAD表示当前版本,上一个版本为HEAD^; 上上一个版本就是HEAD^^; 也可以写成HEAD~2表示网上回退几个版本;

或者,使用commit_id指定版本;

git reset --hard 3f53

版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

9) 从暂存区回退

git reset是从版本库进行回退,重写工作区文件;

但是我还没commit的话,我只是add的话,版本库就没有修改记录了,修改记录在暂存区里;

  • git checkout -- file 表示从暂存区回退版本到工作区;
  • git reset HEAD <file>表示从版本库提取某个状态到暂存区;

总结:

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考8)版本回退,不过前提是没有推送到远程库。

10) 删除文件

1)删除版本库里的文件

git rm file

git commit -m 'message'

小提示:先手动删除文件,然后git add <file>commit效果是一样的。

2)删错了不用担心,git checkout -- file回退;

12)远程相关
1. 查看本机公钥

一般公钥存放的位置为 ~/.ssh/id_rsa.pub

所以打开你的git bash窗口,cd ~/.ssh; cat id_rsa.pub

如果找不到公钥,可以生成;使用命令 ssh-keygen;接着会提示你存放的路径,默认就可以;按enter键确认,

2. 关联远程库

git remote add <name> <url>

例如:在本地的仓库下,使用命令关联到远程my_tools_libs上;

git remote add my_tools_libs git@gitee.com:ymchen_c/my_tool_libs.git
或者(建议这一种,因为记不住名字)
git remote add origin git@gitee.com:ymchen_c/my_tool_libs.git
3. 解除关联

有时候一种关联(协议)不奏效(公司给你禁了),那换一种好了;看命令;

查看远程库关联情况

git remote -v

4)解除关联

git remote rm

4. 推送
git push --force <远程仓库name> <分支名>

force参数表示强制推送到仓库,覆盖写入,仓库原内容会被删除,只保留推送的内容;

😛

三、远程仓库托管,开发流程;

  1. 首先在github上建立一个仓库;用readme.md初始化,建完仓库会有一个远程仓库链接;复制下来;

  2. 然后在本地项目目录下初始化仓库,使用命令 git init命令;

  3. 将初始化的仓库关联到远程仓库;这个时候远程仓库版本和本地版本不一致;

    git remote add origin https://gitee.com/ymchen_c/research-report-element-extract.git

  4. 把远程仓库内容拉下来到本地,为了避免冲突;git pull origin master, 你会发现本地多了readme.md文件

  5. 添加本地项目其他内容到版本树;git add . git commit -m 'message';这个版本树是在远程基础上叠加的,所以不会冲突;

  6. 提交这个仓库到远程;git push origin master

3.1 远程仓库配置总结

git 全局配置

git config --global user.name "张三"
git config --global user.email "zhangsan@email"

创建一个新的仓库

git clone https://gitee.com/ymchen_c/research-report-element-extract.git
cd research-report-element-extract
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

推送现有的文件夹

cd existing_folder
git init
git remote add origin https://gitee.com/ymchen_c/research-report-element-extract.git
git add .
git commit -m "Initial commit"
git push -u origin master

推动一个现有的Git仓库

cd existing_repo
git remote rename origin old-origin
git remote add origin https://gitee.com/ymchen_c/research-report-element-extract.git
git push -u origin --all
git push -u origin --tags

🍂

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值