Git学习笔记

一、基本操作

1、创建版本库

mkdir xxx-----创建xxx目录
cd xxx-----打开xxx
pwd-----显示当前目录
2、将目录变成git可管理的仓库
git init-----初始化Git仓库
3、添加文件到版本库
git add xxx.txt-----告诉Git,把文件添加到仓库
git commit -m "xxxxxxxx"-----告诉Git,把文件提交到仓库(可一次提交多个文件),-m 后面输入的是本次提交的说明,可输入任意内容
4、查看仓库状态
git status-----查看仓库状态
git diff-----查看仓库变化
查看修改后,再次提交,与提交新文件一样,先添加文件,再提交
git diff HEAD -- readme.txt查看工作区和版本库里面最新版本的区别
5、查看
git log-----查看历史记录
git log--pretty=oneline将修改记录简要输出
cat xxx.txt------查看文件内容
6、回退与返回
git reset --hard HEAD^(用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。)
git reset --hard 3628164(其中3628164表示commit id,可以采用$git reflog 命令获得 )
7、撤销回退
git checkout -- xxxx.txt意思就是,把xxxx.txt文件在工作区的修改全部撤销,前提是既没有add,也没有commit。
8、删除文件
rm xxxx.txt------告知git删除文件
git re xxxx.txt -------git 删除
git commit -m "xxxx"--------提交删除
git checkout -- xxxx.txt--------恢复误删文件

二、远程仓库
1、ssh-keygen -t rsa -C "youremail@example.com"---------创建SSH Key
2、git remote add origin git@github.com:xxxxxxxx/learngit.git---------将一个已有的本地仓库与之关联(xxxxxx自己的账户名,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的)
3、git push -u origin mashter-------第一次推送master分支的所有内容(由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来)
4、git push origin master--------本地master分支的最新修改推送至GitHub
5、git remote rm origin---------解决fatal: remote origin already exists.错误

三、从远程库克隆

1、git clone git@github.com:xxxxx/gitskills.git---------用命令git clone克隆一个本地库

四、创建与合并分支
1、gitcheckout -b dev--------创建dev分支
(check out加上 -b表示创建并切换,相当于git branch dev 和git checkout dev 两条命令)
2、git branch-------查看分支
3、git checkout master -----在dev分支完成工作后,切换回master分支
4、git merge dev-------把dev分支工作后成果合并到master分支上
5、 git merge --no-ff -m "merge with no-ff" dev--------注意--no-ff参数,表示禁用Fast forward合并dev分支,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并
6、git branch -d dev--------删除dev分支
7、git log --graph -------查看分支合并图

五、bug分支
1、git stash---------当前工作现场“储藏”起来,等以后恢复现场后继续工作
2、git stash list---------查看先前的工作现场在何处
3、git stash apply-------恢复工作区,(但stash的内容未删除,需用git stash drop 来删除)
4、git stash pop-------恢复工作区的同时删除stash的内容
5、git branch -D feature-vulcan--------强制删除未被合并的分支

六、多人协作
1、git remote--------查看远程库信息
2、git remote -v ---------显示更详细的信息
3、git push origin <name>--------推送分支
    master分支是主分支,因此要时刻与远程同步;
    dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;
    bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;
    feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
4、git pull--------从远程抓取分支
5、git checkout -b branch-name origin/branch-name-------在本地创建和远程分支对应的分支
6、git branch --set-upstream branch-name origin/branch-name--------建立本地分支和远程分支的关联
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功

七、标签管理
1、git tag v1.0 ---------在master分之下创建标签
2、git tag--------查看标签
3、git tag v0.9 6224937--------为commit id是6224937的提交打上标签
4、git show <tagname>-------查看标签信息
5、git tag -a v0.1 -m "xxxxxxxxx" 6224937-------- -a指定标签名,-m指定说明文字
6、git tag -s v0.2 -m "xxxxxxxxx" 6224937-------- -s用私钥签名一个标签,必须暗转gpg
7、git tag -d v0.1---------删除标签
8、git push origin v1.0-------推送某个标签到远程
9、git push origin --tags--------一次性推送全部未推送到远程的标签
10、git tag -d v0.9,git push origin:refs/tags/v0.9---------删除远程标签

八、自定义Git

1、git config --global color.ui.true--------让Git显示颜色
2、.gitignore文件--------忽略某些文件,将.gitignore文件放到版本库里,可以对.gitignore文件做个版本管理
3、git config --global alias.st status-------配置别名,加上--global是针对当前用户起作用,如果不加只针对当前仓库起作用,配置文件都放在.git/config文件中,alias后面是别名

九、参考链接
1、Git教程
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
2、Git常见操作和常见错误
http://blog.csdn.net/god_wot/article/details/10522405
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值