git bash基础命令

前言

关于git的命令都是通过git bush来输入的
一般的git命令必须以git开头!例如下面的命令
git config --list 所有配置

git三区

工作区 (working) .git上一层目录(项目的目录)

暂存区
.git 内部一部分是暂存区
本地仓库
.git内部的一般是本地仓库
git add 文件
作用: 1. 让git跟踪这个文件 2. 把文件添加到暂存区

git commit文件
-m 用双引号扩上注释内容
可以跟上提交的文件名,如果不指定文件名,则提交所有在暂存区里的所有文件
把文件提交到本地仓库

忽略文件

忽略所有的
.a 文件 .a
但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a>
只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO. 不递归的忽略
/TODO
忽略任何目录下名为 build 的文件夹 递归的忽略
build/
忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/
.txt
忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

版本控制

git reset --hard HEAD^(有几个^就回退几个版本)
git reset --hard HEAD~1(数字代表回退版本个数)

git reset --hard 版本号

git log 只记录提交记录. 当前版本以前
git reflog 显示所有的记录(提交, 版本回退, 前进)

使用本地仓库中的文件, 覆盖工作区的文件 -- 可以省略
git checkout -- a.txt

git rm --cache d.txt 放弃跟着文件

在git中, 只要提交过的文件, 任何的误删都可以回复

暂存区和工作区的区别:
git diff a.txt
工作区和本地仓库的区别:
git diff HEAD a.txt
暂存区和本地仓库的区别:
git diff --cached a.txt

分支

有哪些分支
git branch -v

创建新的分支
git branch dev

切换分支
git checkout dev

合并分支
把dev合并到master
1. 先切换到master git checkout master
2. git merge dev
合并的冲突:

如果两个分支, 修改了同一行, 则会产生冲突(master|MERGING)
修改冲突文件, 一定要和同事商量
告诉git 冲突解决完毕

github

是一个中央仓库.
github | 码云

代码推送到github, 两种方式
1. https 每次都需要密码
2. ssh 配置免密登录, 不需要每次输入密码
- 在本地生产秘钥
- 把公钥copy到github
推送仓库:
1. 现在github创建一个仓库
2. 在本地添加远程地址
it remote add 远程代号 远程地址
3. 推送
git push -u 远程代码 本地分支

协作开发

团队内开发
新人入职:

  1. 先clone整个仓库
    git clone …
    关于远程的配置以及包含

  2. 更新 fetch
    只把远程的分支拉来, 但是没有merge
    get fetch origin master

  3. 把远程分支(origin/master)合并到本地分支
    git merge origin/master

  4. 推送

注意:
2和3可以合并为一个命令:
git pull 等价于: fetch+merge

团队间合作

  1. fock 求他人的项目到本人的仓库
  2. 更新代码
  3. 请求作者合并代码

合作开发如何尽量避免冲突:
1. 尽量每个人只更改自己的文件的代码
2. 找leader负责公共文件
减少冲突:
1. 每天上班第一件事, 先更新代码到最新的版本
2. 每次提交代码前, 先pull

git push --forch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值