【研发】-菜鸟使用git的心得总结~

git安装

windows: winget install --id Git.Git -e --source winget

macos: brew install git

基础配置

  1. 设置username和email,作为你本地git账户的名称和账号,后续remote到远程仓库就可以直接使用。
git config --global user.name "your_name"
git config --global user.email "your_email"
##
   设置user.name/email作为本地仓库的绑定的账户名称和账号,--global参数实现全局管理,在本地任何位置下都会应用
   该账户,类似于全局变量
##


git config  user.name "your_name"		
git config  user.email "your_email" 
##
   不加--global参数则仅在当前目录的仓库中应用该账户,切换目录(仓库)后账户失效,效果类似于局部变量。便于用户
   针对不同路径下的本地仓库单独管理
 
   user.name/email尽量与远程仓库(如github、gitlab)使用的用户名、邮箱一致以便后续远程同步可直接使用。
##
  1. 初始化生成本地仓库
git init

## 将当前目录初始化为本地仓库,ls -a可以看到目录内新增.git文件
  1. 设置ssh-key
ssh-keygen -t rsa -b 2048 或者 ssh-keygen -t rsa -b 2048 -C "your_email_addr"

## 生成一对ssh公—私钥,公钥设置在远程仓库,私钥存在本地


git config core.sshcommand 'ssh -i [your private_key_path]'

## git默认使用当前系统用户.ssh中的私钥,如需另外指定私钥使用core.sshcommand配置
  1. 关联远程仓库
git clone [ssh://your_remote_repository_addr]

## 从远程下载一个git仓库添加到当前目录下,并自动关联别名origin


git remote add [alias] [ssh://your_remote_repository_addr]

## 将远程仓库手动关联一个别名


git remote -v

## 显示所有远程仓库
  1. 推送&拉取
git push [alias] [local_branch]:[remote_branch]
## 
	推送本地仓库的某个分支到远程仓库某个分支并自动merge,[alias]为远程仓库地址对应的别名,
	若[local_branch]:[remote_branch]名称相同则写一次即可  git push [alias] [branch]
##

git pull [alias] [remote_branch]:[local_branch]
##
	从远程仓库拉取某个分支到本地仓库某个分支并自动merge,用法同push相同,但注意[remote_branch]
	和[local_branch]先后顺序
##

git fetch [alias] [remote_branch]:[local_branch]

## 仅从远程仓库提取某个分支到本地仓库的某个分支,但不进行merge

基础命令

[查配置]
git config --list		###列出当前仓库的配置,也可以直接查看.git/config文件

[暂存区]
git add [file]		###添加需要commit的文件到暂存区
git add .		###添加当前目录所有文件到暂存区

git diff [file]		###查看暂存区文件修改情况
git status		###查看暂存区、工作区的文件状态,一般用在commit之前检查文件是否add

[提交]
git commit -m "[msg about commit(necessary)]"		###将暂存区的数据提交到本地仓库,记录一次版本

[查版本]
git log 		###查看初始版本 至 HEAD指针当前指向版本,之间每个commit版本的记录(不包含回退前的所有版本)
git reflog		###查看所有commit版本的记录(不论是否回退)

[回滚]
git reset --hard HEAD^		###通过修改git log中HEAD的指向来回退到前一个版本,一个^代表一个版本,^^表示回退到前两个版本,^^^表示前三个版本...以此类推
git reset --hard HEAD~100		###直接回退100个版本
git reset --hard [version_id]		###指定回退到某个版本
								### --soft参数回滚版本后会将先前版本保存入暂存区,(a>b>c>d) ->(a>b)则c、d进入暂存区

git checkout -- [file]		###撤回一步文件变更,逻辑类似三元运算:[撤回版本] = [更新到暂存区] ? [暂存区版本] : [仓库版本]

[分支管理]
git branch [branch_name]		###创建分支
git checkout [branch_name]		###切换分支
git checkout -b [branch_name]		###创建并切换分支,若已存在则直接切换


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值