1.添加ssh账户:
(1)点击账户头像后的下拉三角,选择settings--->SSH and GPG keys--->New SSH key,如下图:
(2)在ubuntu的命令行中,回到用户的主目录下(也可以不在主目录下),编辑文件.gitconfig
(3)修改为注册github时的邮箱,填写用户名。
(4)使用如下命令生成ssh密钥
ssh-keygen -t rsa -C "
邮箱地址
"
(5)进入主目录下的.ssh文件件,下面有两个文件
公钥为id_rsa.pub,私钥为id_rsa
(6) 将公钥粘贴至git的SSH key页面中,即
2. 克隆项目
(1)git clone git@github.com:github用户名/仓库名
(2)克隆出错
(3)继续执行1中的命令就可成功复制仓库中的内容
(4)项目克隆到本地之后,执行如下命令创建分支
注意:创建一个新的分支后,若没有提交一个版本时,用git branch是显示不了有这个分支的,如上图
(5)推送分支,就是把该分支上的所有本地提交到远程库,推送时要指定本地分支,这样,git就会把该分支推送到远程库对应的远程分支上
git push origin
分支名称
注意 此处可能遇到的问题
a. 报错fatal: does not appear to a git repository Could not read from remote repository
本地库与远程库关联出现问题,解决方法如下
git remote rm origin # 删除remote中的内容 git remote -v # 此时发现没有origin内容 # 通过以下命令重新建立关联 git remote add origin git@github.com:github名字/仓库名.gitb
b 错误二
原因:本地版本和主干上的有差异,可以先pull远端的版本,解决了冲突才能push(自己当时的问题是read.me文件改了)
git pull --rebase origin 本地分支
(6)将本地分支跟踪服务器分支
git branch --set-upstream-to=origin/
远程分支名称
本地分支名称
例:
例如: git branch --set-upstream-to=origin/yjf yjf
(6) 从远程分支上拉取代码
git pull orgin
分支名称
例:
git pull orgin yjf
使用上述命令会把远程分支smart上的代码下载并合并到本地所在分支
3.常用的命令

我们把文件往git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
(一)
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令 git checkout -- file
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交
git reset --hard
版本号(可通过git log查看;git reflog可以查看我们的操作记录,得到版本号(一般用于原来终端关闭,打开新的终端时))
git reset --hard HEAD^表示退回前面一个版本
(二)
命令git rm用于删除一个文件(git rm filename)。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本(git checkout – filename),你会丢失最近一次提交后你修改的内容
(三)
git管理的文件的修改,它只会提交暂存区的修改来创建版本。若编辑了一个文件,没经过git add而直接commit,当前分支是得不到这个工作区的修改内容的
(四)
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
(五)
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,恢复工作现场。