学习廖雪峰git教程的笔记
sudo apt-get install git
安装需要配置local信息
|
|
git init
,将当前目录变成Git可以管理的仓库git add "existed file/folder
,将该文件提交到stage,当后面是文件夹时,提交该文件夹下所有内容git commit -m "describe of commition"
,将git add
提交到stage的内容提交到仓库中。git status
查看仓库当前状态。git diff "file name"
,比较仓库中filename文件和工作区中该文件的区别git log
或git log --pretty=online
,显示从最近到最远的提交日志gitk
可进入图形界面git reset --hard HEAD^
,将工作区中的内容回溯到上一次提交之前。HEAD
表示当前版本,上一个版本时HEAD^
,上上个版本是HEAD^^
,往前N个版本就是HEAD~N
。git reset --hard
之后也可以接版本ID(很长的一串数字)。git reflog
用来记录每一次命令,上面有之前提交的版本号,这样方便回溯或切换到之后版本。git checkout -- file
,检出file在库中的版本,这会覆盖掉工作区中的file,从而实现的功能是撤销工作区文件的删改,git reset HEAD file
把stage中的file撤销掉git rm "file"
删除仓库中file文件。使用完该命令之后就不能从仓库中git chechout "file"
检出该文件了。如果只是本地删除,可以检出恢复。
ssh-keygen -t rsa -C "your email@example.com"
,创建SSH Key,一路回车下去,就会发现在用户目录下有.ssh
目录,目录中会有id_rsa
和id_rsa.pub
,这两个是SSH Key密钥对,id_rsa
是私钥,不能泄露,id_rsa.pub
是公钥,可以放心的告诉别人。
登陆GitHub,点击右边自己的头像打开Setting,左边的列表中会有SSH and GPG keys,点击之后在右边会看到New SSH Key,填上Title,在Key文本框里粘贴id_rsa.pub
中的内容。点Add SSH Key,就可以看到已经添加的Key。若是希望每次提交的时候不输入密码,需要将push方式改为ssh方式,而不是https方式。可以通过修改当前repository目录下.git/config中的url
|
|
关联远程仓库和本地仓库,在GitHub创建好空的repository之后,根据提示关联已经有的本地仓库,在本地仓库目录下执行
|
|
提交本地仓库所有内容,-u
表示将本地master分支与远程的origin分支关联起来,在以后的推送和拉取时可以简化命令为git push origin master
将本地库的内容推送到远程。
git clone https://github.com/your_name/repository_name.git
将远程库中内容拷贝到本地,也可以达到关联的目的。
git remote -v
查看远程库信息
git pull
从远程抓取分支,每次提交本地库到远程库之前执行,如有冲突,先处理冲突.
分支相关命令
|
|
分支合并:
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,当合并分支出新冲突时,用git status
查看具体情况,再手动修改合,排除冲突后进行合并。
git log --graph
,查看分支合并图
--no-ff
,合并分支时使用此参数,合并后的历史有分支,可以看出来哪些曾经修改过。
git stash
,储存当前工作现场,使用git stash list
查看存储的工作现场,使用git stash applay
恢复(需要使用git stash drop
删除stash内容), 或者使用git stash pop
恢复的同时将stash的内容删除
标签操作git tag <name>
用于新建一个标签,默认为HEAD
,也可以指定一个commit id
;git tag -a <tagname> -m "blablabla..."
可以指定标签信息;git tag -s <tagname> -m "blablabla..."
可以用PGP签名标签;git tag
可以查看所有标签。git push origin <tagname>
可以推送一个本地标签;git push origin --tags
可以推送全部未推送过的本地标签;git tag -d <tagname>
可以删除一个本地标签;git push origin :refs/tags/<tagname>
可以删除一个远程标签
其他git config --global color.ui true
:让Git显示颜色,会让命令输出看起来更醒目
.gitignore忽略特殊文件,用户可以修改指定忽略的文件
原文:https://www.cnblogs.com/lijianming180/p/12099734.html