1.安装git
sudo add-apt-repository ppa:git-core/ppa //添加源
sudo apt-get update //更新
sudo apt-get install git //自动安装git
git --version //确认git版本
//第一次使用前
git config --global user.name "your name" //设置用户名,注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
git config --global user.email "your email" //设置电子邮箱
git config user.name //查看用户名
git config user.email //查看电子邮箱
git config --list //查看所有用户信息
2.创建一个新的仓库
//在想要创建为仓库的文件夹中使用
git init
//或者直接在当前文件夹中创建一个文件夹并初始化为仓库
git init dirname
3.把修改存放进本地仓库
![](https://i-blog.csdnimg.cn/blog_migrate/ca2174eafecdda485e506be4fc81230c.png)
git status //查看状态,工作区相对于版本库是否有修改
git diff //查看不同之处在哪
git add filename //把指定文件添加到版本库中的暂存区
git commit -m "备注" //把暂存区的修改提交到最终的本地仓库中
git checkout -- filename //会把工作区的相应文件恢复到你最近提交的一个版本,即丢弃了工作区最新的更改,适用于还未提交的情况。
git reset HEAD filename //丢弃了相应文件的最新提交(add),不改变工作区和库区,只改变了暂存区。
git reset --hard HEAD^ //版本回退,工作区和库区都进行相应的回退。
rm filename //删除工作区的相应文件
git rm filename //删除库区的相应文件,注意删除之后应该进行commit
4.把工程推送到远程仓库
-
注意在github上创建远程仓库,每一个远程仓库都对应一个相应的地址,地址又分为两种,一种是 http开头的,一种是 git@开头的
-
在github的每个仓库中,可以找到这个地址,通过选择use SSH和use HTTPS来选择使用哪一个地址
![](https://i-blog.csdnimg.cn/blog_migrate/a889623fd90d0ec4f6c6eece4694573d.png)
4.1使用http来进行推送和上传
git remote add origin
https://github.com/dragonFly12345/ubuntuGitTest.git //给当前本地仓库绑定一个远端地址,使用http地址,其中origin是远端的名称,可以更改
git push origin master //把本地仓库的内容推送到远端仓库,注意这里是推送到远端origin的master分支里面。
因为使用的http地址,所以会要求你输入你的github的账号密码
//push成功之后,在github相应的远端仓库中可以查看到改动已经上传成功
4.2使用git@来进行推送
-
创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
-
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
-
登陆GitHub,打开“settings”,“SSH Keys”页面:
![](https://i-blog.csdnimg.cn/blog_migrate/3f94456f536a045f4768c789cfc6830f.png)
-
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。
-
注意:使用vim打开id_rsa.pub可能会出错,建议使用gedit打开文件进行粘贴
-
添加成功之后,可以使用git@进行推送:
git remote remove origin //与远端解除绑定
git push origin master
//注意第一次推送的时候可以加上
-u
参数
git push -u origin master
//Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
![](https://i-blog.csdnimg.cn/blog_migrate/8648e3ef30c147c4774c0694ec3d67f6.png)
-
当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
-
这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:
5.从远程仓库进行克隆
-
可以使用http开头的地址也可以使用git@开头的地址进行复制,git支持多种协议
//git clone "地址"
git clone
git@github.com
:dragonFly12345/helloGithub.git //在一个本地仓库中使用,把远程的程序拷贝到本地