Git 分布式版本控制系统

本文详细介绍了Git的安装、版本库管理、远程仓库操作,包括SSH密钥设置、分支管理、标签使用、冲突解决和暂存区操作。此外,还涵盖了如何拉取特定分支代码、删除本地及远程标签,以及自定义Git配置,如忽略文件和设置别名。内容全面,适合Git初学者。
摘要由CSDN通过智能技术生成

1、安装git

sudo apt-get install git
./config
make
sudo make install

2、版本库

 

git checkout --file // 丢弃工作区的修改
    1、未放到暂存区:撤销修改回到和版本库一样的状态
    2、已放到暂存区:撤销修改回到添加到暂存区后的状态
git reset HEAD file // 把暂存去的修改撤销,重新回到工作区

3、远程仓库

注册 GitHub 账号,提供 Git 仓库托管服务

1)创建SSH key

/.ssh/id_ras or id_ras.pub

2)添加公钥

3)添加远程仓库

// 关联远程仓库
git remote add $origin git@github.com:/${github账户名}/learngit
origin:server_name:path/rep_name.git // 远程仓库的名字
git push -u origin master // 第一次把本地仓库内容推动到远程
注:由于远程库是空的,第一次推送master分支时加上 -u 参数,Git不但会把本地的master分支推送到远程的新的master分支,还会把本地的master分支与远程的master分支关联起来
git push origin master

4)SSH警告

第一次使用git的 clone 或 push 命令连接 GitHub 时会有一个警告:yes

4、分支管理

git branch
git branch dev
git checkout dev
git merge dev // 合并指定分支dev到当前分支
git branch -d dev // 删除dev分支
git log --graph // 分支合并图
 
 
分支管理策略
git merge --no-ff -m 'merge with no-off' dev // 合并dev分支
    禁用fastforward   需要一个新的commit
 
 
stash
git stash // 储藏当前工作现场
git stash list // 查看储藏的工作现场
git stash apply // 恢复储藏但不删除
git stash drop // 删除储藏
git stash pop // 恢复并删除stash内容
git stash apply stash@{0} // 恢复指定stash
git stash drop stash@{0} // 删除指定stash
 
git remote -v // 查看远程库详细信息
git push origin master/dev
git clone
 
 
注:git pull 提示“no tracking information”,本地分支和远程分支的链接关系没有创建
git branch --set-upstream branch-name origin/branch-name //拉取本地分支和远程分支的关联

5、标签

版本库的一个快照,指向某个commit的指针;标签不按时间排序,按字母排序

git tag v1.0 // 默认为HEAD
git tag // 查看所有标签
git show <tagname> // 查看标签信息
git tag -a v1.0 -m 'v1.0' 3213144
     指定标签名  指定说明文字  commit id
git tag -S v2.0 -m 'v2.0' 3213132
    用私钥签名一个标签
git tag -d v1.0 // 删除标签
git push origin <tagname> // 推送某个标签到远程
git push origin --tags // 一次性推送所有标签到远程
 
 
删除标签(如果已经推送到远程)
1、先删除本地标签 git tag -d <v0.9>
2、删除远程 git push origin:refs/tags<v0.9>

6、自定义GIT

忽略文件
1、根目录下创建 .gitignore 文件
2、把需要忽略的文件名填进去
git add -f app.class // 强制添加已被忽略的文件
     
配置别名
git config --global alias.st status // st:status
 
 
配置文件
    加 --global 针对当前用户起作用,不加只针对当前仓库起作用
 
 
彩色  git 输出
git config --global color.ui true
git config --global color.ui false
恢复原始色彩
1、如果使用了--global参数,那么编辑~/.gitconfig文件,将里面的[color]内的内容删除即可
2、如果使用了--local参数,则编辑.git/config文件,如果是--system参数,编辑/etc/gitconfig文件

7、冲突解决

git lg
git reset --soft 18c9718ae
git st
git df app/x/abc.php
git co --ours app/x/*
 
git st
git add .
git st
git commit -m 'v-123'
git gpush
git checkout --ours xxx/A.java // 抛弃甲的版本,保留乙的(自己)
git checkout --theirs xxx/A.java // 抛弃乙的版本,完全采用甲的(服务器(暂存区))

8、暂存

git stash //暂存当前正在进行的工作
git stash list //将当前的Git栈信息打印出来
git stash pop //恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
git stash apply stash@{1} //将指定版本号为stash@{1}的工作取出
 
git stash clear //删除所有队列
git stash drop stash@{$num} //丢弃stash@{$num}存储

9、Tag

git tag <标签定义> <commit_id> //新建标签,不传commit_id则默认最新的
git tag //查看标签
git show 标签名 //查看标签详细信息
git tag -d 标签名 //删除本地标签
 
删除远程标签:
1、git tag -d 标签名,
2、git push origin :refs/tags/标签名
 
git push origin 标签名 //推送到远程
git push origin --tags //一次性推送所有标签

10、拉取指定分支的代码

git clone -b 分支 代码库
git clone -b xxx-abc_1-0-1_BRANCH ssh://abc.xxx.com:8203/xxx/abc

MAC上Git安装与GitHub基本使用 - 简书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值