git的初步使用

ubuntu安装git

sudo apt install git-all

获取git更新

git clone git://git.kernel.org/pub/scm/git/git.git

设置初始参数

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

设置ssh(不用每次push都输密码)

ssh-keygen -t rsa -C ”邮箱“
gedit .ssh/id_rsa.pub //复制里面的密匙到github仓库
ssh -T ssh -T git@github.com //测试是否成功配置


git工作区中文件的状态图:

在这里插入图片描述
git init 开始管理项目

git add README 开始跟踪新文件/把已跟踪的文件放到暂存区/合并时把有冲突的文件标记为已解决状态等。

git commit -m “…” 提交

git commit -a -m ‘…’ 跳过add 直接commit所有修改

git status 查看哪些文件处于什么状态 -s 精简版

git mv README.md README <=>

$ mv README.md README
$ git rm README.md
$ git add README

git commit -m ‘initial commit’
git add forgotten_file
git commit --amend //覆盖上一次提交

git rm --cached README 停止追踪文件(从暂存区中移除)

git restore test.md 撤销对文件的修改(未提交到暂存区)



分支

git branch testing 创建一个分支

git log --oneline --decorate 查看各个分支当前所指的对象

git checkout testing 分支切换 -b没有就新建一个

git branch 查看分支情况 -v详细一点

git log --oneline --decorate --graph --all 更加直观地查看分支情况,非常好用

git merge hotfix 一般旧的分支向新的分支合并,此时旧的更改,新的不会更改

git branch -d hotfix 删除分支hotfix

如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,Git 就没法干净的合并它们

打开有冲突的文本后会发现git自动标识了冲突:

===的上半部分是HEAD指针所在分支的冲突部分情况
===的下半部分是被合并分支的冲突部分情况,需要我们手动合并

手动合并:选择其一…,然后add和commit,git会标记冲突已经解决 ,此时git已经帮我们自动合并了

git branch --merged 查看已经合并的分支

git branch --no-merged 查看还没有合并的分支

git branch --no-merged master 查看还没有合并到master的分支

git branch -D test 删除还没有合并的分支

git checkout experiment
git rebase master 变基到master分支上
git checkout master
git merge experiment 回到maste分支上合并

git reset --hard 版本号 跳转到指定版本


远程
git clone https://github.com/schacon/ticgit 克隆仓库

git remote add pb https://github.com/paulboone/ticgit 添加远程仓库

git remote rename pb paul 给远程仓库改名

git remote remove paul 移除远程仓库

git fetch 抓取 不自动合并

git pull 拉取 自动合并 =git fetch+git merge

git push origin master 推送到远程仓库 -f强制推送

git clone --bare … 克隆一个裸仓库 没有工作目录 可以作远程的服务器!

git push origin --delete grc 删除远程分支


假设有一个分支A,向master分支提交PR,然后发生无法自动解决的冲突,PR提示不能执行merge合并。
  1. 本地checkout检出并切换到A分支,pull拉取更新到最新代码
  2. 在本地A分支上,merge合并远程分支master
  3. 会提示无法合并,手动解决完冲突提交到A分支
  4. 回到PR,会发现PR已经无冲突
  5. 让有merge权限的人进行merge即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值