Ubuntu下git的相关操作

Ubuntu下git的相关操作

1.安装git:sudo apt install git

2.配置git:
git config --global user.name “Your name”
git config --global user.email “your email@domain.com”

3.创建一个本地仓库(版本库)
在合适的地方创建一个空目录,cd到该目录,然后使用git init 命令把这个目录变成Git可以管理的仓库
(注意:千万不要手动修改.git目录里的文件)
在仓库目录中创建一个文件,把文件添加到缓存区中:git add 文件名
把文件提交到版本库:git commit -m “注释信息”
撤销(回退到上一次git commit或者git add的状态):gif checkout --文件名
创建忽略目录(一般会隐藏):touch .gitignore 如果要忽略上传的文件,将文件名写在这个文件中。这个被写入的文件不会提交到远程。
将该文件夹下所有文件添加到缓存区中:git add .
将缓存区中所有文件提交到版本库:git commit . -m “注释信息”
查看仓库状态:git status
查看修改内容:git diff
查看修改日志:git log
git log --pretty=oneline
回退到上一版本:git reset --hard HEAD^
回退到上上版本:git reset --hard HEAD^^
回退到前100版本:git reset --hard HEAD-100
回退到具体版本:git reset --hard 具体版本号(不需要完整的)
记录每一次命令:git reflog

4.git三个区域:
工作区:仓库所在目录
缓存区:仓库所在目录下的文件git add 后添加进入缓存区域
版本库:缓存区域下的文件git commit 后添加进入版本库

5.创建远程仓库
在终端输入(输入完成后回车几下):ssh-keygen -t rsa -C “GitHub的邮箱地址”
cd 路径(上面命令的输出的内容有完整的路径,我的是/home/hang/.ssh)
用ls命令可以查看此目录下的文件有id_rsa(私钥)和id_rsa.pub(公钥)
在当前目录下输入:ls(查看目录下文件,可见id_rsa id_rsa.pub)
查看密钥:cat id_rsa.pub
提交密钥:在github.com的界面中选择右上角的Account Settings,然后选择SSH Keys,选择新加。
查看连接状况:ssh -T git@github.com
输出:Hi lishaohang2! You’ve successfully authenticated, but GitHub does not provide shell access.
表示成功
输出:he authenticity of host ‘github.com (192.30.255.113)’ can’t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
则输入yes,然后回车
6.关联远程仓库
首先cd到创建的本地仓库路径下,然后执行下面命令:git remote add origin 远程仓库地址
远程仓库地址在官网的Clone or download
拉取远程仓库内容到本地仓库:git pull origin master
报错error:error: 源引用表达式 master 没有匹配
error: 推送一些引用到 ‘github.com:lishaohang2/learngit.git’ 失败
这是因为远程仓库master中没用文件,需要先提交一次文件
即:git add Readme.txt
git commit -m “add a file”
再执行:git pull origin master
成功:
枚举对象: 3, 完成.
对象计数中: 100% (3/3), 完成.
写入对象中: 100% (3/3), 229 字节 | 229.00 KiB/s, 完成.
总共 3(差异 0),复用 0(差异 0),包复用 0
remote:
remote: Create a pull request for ‘master’ on GitHub by visiting:
remote: https://github.com/lishaohang2/learngit/pull/new/master
remote:
To github.com:lishaohang2/learngit.git

  • [new branch] master -> master
    将本地仓库内容到远程仓库:git push origin master (注意:需要先把远程库内容拉到本地,否则会报错)
    如果先有远程库,从远程库克隆 (只会将master克隆下来):git clone 远程库地址
    master主分支:在版本回退中,每次提交,Git都把它们串成一条时间线,在git里,这个分支叫主分支,即master分支,HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。每次提交,master分支都会向前移动一步,这样,随着不断提交,master分支的线也越来越长。

7.常见的分支管理操作:
创建与合并分支(要切换到仓库目录下):git branch 分支名
git branch learnbranch1
切换分支:git checkout 分支名
git checkout learnbranch1
创建与切换同时进行:git checkout -b 分支名
查看当前分支:git branch (会列出所有分支,当前分支的面会有一个号)
git branch
输出:
learnbranch1
master
在分支上修改的内容合并到master分支,首先切换到master分支 :git merge 分支名
删除分支:git branch -d 分支名
删除远程分支:git push origin :分支名
git push origin --delete 分支名
查看分支合并图:git log --graph

8.分支策略
master分支应该是非常稳定的,依旧是仅用来发布最新版本,平时不能再上面干活。干活都在dev分支上,也就是说dev分支是不稳定的,到某个时候,比如1.0版本时,再把dev分支合并到master上,在master分支发布1.0版本。你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时往dev分支上合并就行了。

多人协作:
推送分支:git push origin master
git push origin dev

抓取分支:从远程库clone时,默认只能看到master
想在dev分支上开发,就必须创建origin的dev分支到本地
git checkout -b dev origin/dev
参考:https://blog.csdn.net/Chenftli/article/details/81141010
https://blog.csdn.net/Chenftli/article/details/81259698

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值