git 学习笔记

git config --global user.name "Your Name"

git config --global user.email "email@example.com"

git init用来把目录变成git可以管理的仓库

ls -ah可以看见隐藏文件

git add <file> 用来把文件添加到仓库,可一次添加多个文件

git commit -m "描述" 用来把文件提交到仓库

git status用来查看仓库的当前状态

git checkout -b feature-hu develop    # 从develop分支新建并检出feature分支
# 这里可以进行一些功能开发,并不断的add和commit
        # 切换回develop分支
git pull origin develop    # 更新远端代码,看develop分支是否有更新(无更新)
git checkout feature-hu    # 切换回feature分支
git rebase develop    # 合并develop分支到feature分支,并解决冲突(无冲突)
git checkout develop    # 切换回develop分支
git merge --no-ff feature-hu    # 合并feature分支到develop分支
git push origin develop   # 推送develop分支到远端

git checkout -b feature-zz develop    # 从develop分支新建并检出feature分支
# 这里可以进行一些功能开发,并不断的add和commit
git checkout develop    # 切换回develop分支
git pull origin develop    # 更新远端代码,看develop分支是否有更新(有更新)
git checkout feature-hu    # 切换回feature分支
git rebase develop    # 合并develop分支到feature分支,并解决冲突(有冲突)
# 这里需要进行冲突解决
git add .    # 解决完冲突之后执行add操作
git rebase --continue    # 继续刚才的rebase操作
git checkout develop    # 切换回develop分支
git merge --no-ff feature-zz    # 合并feature分支到develop分支(无冲突)
git push origin develop   # 推送develop分支到远端


echo "# xiangmu" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:GitHuUser/xiangmu.git
git push -u origin master

git diff用来查看文件做了什么修改

git log --pretty=oneline命令显示从最近到最远的提交日志

git reset --hard HEAD^

git reflog用来记录你的每一次命令

git reset --hard commit_id

git diff HEAD -- <file>用来查看工作区和版本库最新版本的区别

git checkout -- file用来丢弃工作区的修改

git reset HEAD file用来把暂存区的修改撤销掉,重新放回工作区

git rm从版本库中删除文件

git checkout -- file从版本库中恢复删除的文件

git checkout是用版本库里的版本代替工作区的版本

git remote add origin git@github.com:GitHuUser/Git_repository.git

git remote add origin git@server-name:path/repo-name.git关联一个远程库

git push -u origin master第一次推送master分支的所有内容

git push origin master第一次推送之后就可以使用该命令推送最新修改

git clone git@github.com:GitHuUser/gitskills.git

git checkout -b dev创建一个dev的分支 加上-b参数表示创建并切换相当于git branch dev和git checkout dev两条命令

git branch命令来查看分支

git branch <name>创建分支

git checkout <name>切换分支

git merge dev把dev分支的工作成果合并到当前分支上

git branch -d <name>删除分支

git log --graph命令可以看到分支合并图

git log --graph --pretty=oneline --abbrev-commit

git merge --no-ff -m "merge with no-ff" dev --no-ff参数表示禁用Fast forward

git stash把当前工作现场"储存"起来,等以后恢复现场后继续工作

git stash apply恢复工作现场,但是stash内容不删除,可以用git stash drop删除,或者直接用git stash pop

git stash list查看stash内容

git branch -D dev可以强制删除分支

git checkout -b dev origin/dev创建远程origin的dev分支到本地

====================***********************====================
====================***********************====================
====================***********************====================
多人协作的工作模式通常是这样:

首先,可以试图用git push origin branch-name -f推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to=origin/远程分支的名字 本地分支的名字

这就是多人协作的工作模式,一旦熟悉了,就非常简单
====================***********************====================
====================***********************====================
====================***********************====================

git remote -v使用查看远程库信息

git push origin branch-name从本地推送分支,如果推送失败在先用git pull抓取远程的新提交

git checkout -b branch-name origin/branch-name在本地创建和远程分支对应的分支,名字最好一致

git branch --set-upstream (或者--track或者--set-upstream-to) branch-name origin/branch-name

git pull从远程抓取分支,如果有冲突,先处理冲突

git tag vx.x commit_id

git tag -a v0.1 -m "version 0.1 released" commit_id创建带有说明的标签,用-a指定标签名,-m指定说明文字,指定标签信息

git tag -s v0.2 -m "signed version 0.2 released" fec145a通过-s用私钥签名一个标签,用PGP签名标签

git tag查看所有标签

git tag -d v0.1删除标签

git push origin <tagname>推送某个标签到远程

git push origin --tags一次性推送全部尚未推送到远程的本地标签

git tag -d <tagname>可以删除一个本地标签

git push origin :refs/tags/<tagname>可以删除一个远程标签


 

转载于:https://my.oschina.net/u/3184096/blog/1529580

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值