Git使用

 

 

 

 

1.git原理简介

 

 

 

 

 

2.创建项目的SSH Key,在桌面打开Git Bash快捷方式,或者是桌面右击选择Git Bash Here

  

a>配置用户名:git config --global user.name  (github上注册的用户名)

b>配置用户邮箱:git config --global user.email  (GitHub上注册时的邮箱)

git config --global user.name "yourusername"
git config --global user.email "youremail@example.com"

查看配置是否成功

git config user.name
git config user.email

 

创建SSH Key,在终端输入 cd ~/.ssh  回车(进不进入.ssh目录无所谓) 

c>在Git终端在输入ssh-keygen -t rsa -C "youremail@example.com" ( GitHub上注册时的邮箱 )

ssh-keygen -t rsa -C "youremail@example.com"

 

 

 创建完成后,在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥

 

 

3.登录GitHub,打开“settings”的“SSH Keys”页面,然后,点“New SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key

a>说明:如果当前目录不是~/.ssh目录,就输入cd ~/.ssh,然后ls 查看当前目录下的文件,vi id_rsa.pub,打开文件,选中内容右击点击Copy

 

 

 

b>登录你的GitHub,添加SSH Key

 

 

 

 

4.将GitHub上的项目,克隆到本地一份

a>新建一个仓库(test)

b>复制仓库的HTTP 地址

 c->将GitHub上的仓库克隆到本地

git clone http地址

e>进入该仓库就会显示(master分支)

 

 

 

 

 5.将本地文件git到GitHub远程仓库

输入git status命令查看仓库状态:
输入git log命令查看仓库日志:

git add .        (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来)

(提交文件夹:git add src/)

git commit  -m  "提交信息"  (注:“提交信息”里面换成你需要,如“first commit”)


git push -u origin master   (注:此操作目的是把本地仓库push到github上面,此步骤需要你输入帐号和密码)

 

 

 

a->如下图(git remote add origin 你的GitHub仓库的HTTPS地址或者是SSH地址,步骤4所示的地址),此时在test2目录下会有远程仓库上的README.md文件

 

 

 

b->将创建好的test.txt文件通过下图方式提交到远程仓库GitHub上(执行git add test.txt如果报错,请查看下面的解决方法)

 

 

 

在执行git add test.txt 将工作区文件添加到暂存区,报错如下

 

 

 解决方法:是因为unix系统与windows系统跨平台问题导致,执行git config core.autocrlf false后,再提交就不会报错了。

 

常见命令

$ git clone [url]

下载一个项目以及它所有的版本历史

$ git add [file]

将文件进行快照处理用于版本控制

$ git commit -m"[descriptive message]"

将文件快照永久地记录在版本历史中

$ git push

上传当前本地分支commit到GitHub上

$ git pull

下载服务器上最新的本部并合并更改到本地

$ git reset [commit hash]

撤销所有[commit hash]后的的commit,在本地保存更改


$ git log

列出当前分支的版本历史

 

  • push:该单词直译过来就是“推”的意思,如果我们本地的代码有了更新,为了保持本地与远程的代码同步,我们就需要把本地的代码推到远程的仓库,代码示例:
git push origin master
  • pull:该单词直译过来就是“拉”的意思,如果我们远程仓库的代码有了更新,同样为了保持本地与远程的代码同步,我们就需要把远程的代码拉到本地,代码示例:
git pull origin master

 

 

第 6 个命令:git branch

在命令行窗口的光标处,输入git branch命令,查看 Git 仓库的分支情况:

 

如上图所示,显示了仓库demo中的分支情况,现在仅有一个master分支,其中master分支前的*号表示“当前所在的分支”,例如* master就意味着我们所在的位置为demo仓库的主分支。输入命令git branch a,再输入命令git branch,结果如下图所示:

 

如上图所示,我们创建了一个名为a的分支,并且当前的位置仍然为主分支。

 

第 7 个命令:git checkout

在命令行窗口的光标处,输入git checkout a命令,切换到a分支:

 

如上图所示,我们已经切换到a分支啦!也可以通过命令git branch查看分支情况:

 

 

在这里,我们还有一个更简单的方法来查看当前的分支,即通过观察上图中用红色框圈起来的部分。此外,我们也可以在创建分支的同时,直接切换到新分支,命令为git checkout -b,例如输入git checkout -b b命令:

如上图所示,我们在a分支下创建b分支(b为a的分支),并直接切换到b分支。

第 8 个命令:git merge

切换到master分支,然后输入git merge a命令,将a分支合并到master分支:

 

如上图所示,我们已经将a分支合并到主分支啦!此外,在这里需要注意一点,那就是:在合并分支的时候,要考虑到两个分支是否有冲突,如果有冲突,则不能直接合并,需要先解决冲突;反之,则可以直接合并。

**第 9 个命令:git branch -d & git branch -D **

在命令行窗口的光标处,输入git branch -d a命令,删除a分支:

 

如上图所示,我们已经将分支a删除啦!不过有的时候,通过git branch -d命令可以出现删除不了现象,例如分支a的代码没有合并到主分支等,这时如果我们一定要删除该分支,那么我们可以通过命令git branch -D进行强制删除。

**第 10 个命令:git tag **

在命令行窗口的光标处,输入git tag v1.0命令,为当前分支添加标签:

 

 

 

如上图所示,我们为当前所在的a分支添加了一个v1.0标签。通过命令git tag即可查看标签记录:

 

 

 

如上图所示,显示了我们添加标签的记录。通过命令git checkout v1.0即可切换到该标签下的代码状态:

 

 

 

“提交内容”中的Author和Email,可以用如下命令进行设置:

git config --global user.name "名字"
git config --global user.email "邮箱"
其中,global表示设置为全局可用,如果想设置局部可用,删除global即可。

 

 

解决git缓慢问题

 

第一步:去这个网站查询3个域名对应的IP地址

https://www.ipaddress.com/

第二步:修改hosts文件

Windows上的hosts文件路径在

C:\Windows\System32\drivers\etc\hosts

Linux的hosts文件路径在/etc/hosts中

sudo vim /etc/hosts

Mac的hosts文件路径也在/etc/hosts中

sudo vi /etc/hosts

192.30.253.113  github.com
151.101.185.194 github.global.ssl.fastly.net
192.30.253.120  codeload.github.com

第三步:刷新DNS缓存

Linux:

sudo /etc/init.d/networking restart

Windows

ipconfig /flushdns

Mac

sudo killall -HUP mDNSResponder

 

 

版本回退

  git reset --hard HEAD^

  • HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

版本回退后想要提交

不要 pull,git push --force强制推送。

 

posted @ 2020-03-23 18:25  戮漠  阅读(198)  评论(0)    收藏  举报