git常用操作总结

来源:互联网 发布:迅雷同类软件 编辑:程序博客网 时间:2024/05/21 17:07

理解基本概念

几个区域

workspace: 本地工作区
index: 暂存区
repository: 本地仓库
remote: 远程仓库

一般使用git的步骤

  • 首先,你需要先安装git
    git安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
    然后开始配置一下git。在这个命令行窗口中输入:
git config --global user.name "your name"git config --global user.email "your email"

这儿”your name”就是你的用户名,”your email”就是你的邮箱,这样就设置为全局设置了。

情景一:从github上下载别人的代码。
1.在浏览器上打开别人的项目,复制下载链接。
2.在自己电脑上新建个文件夹,打开git命令行窗口,输入:

git clone 复制的那个链接

这样就下载下来了。

情景二: 自己写项目,然后上传到github上。

在这之前,你需要配置一个ssh key。
第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

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

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

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

为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。
这部分参考:这里写链接内容

然后,我们就开始自己的工作了。

1.在github上新建一个空的工程。
2.在本地新建一个工程,并写好自己的代码。
3.在本地工程根目录下打开git命令行窗口,使用init操作进行初始化。

git init

4.添加代码到暂存区

git add .

圆点表示添加本目录下的所有文件,如果只填加一部分,那add后面就跟上具体的文件名。
5.提交

git commit -m "这里是提交的描述"

6.添加远程仓库。

git remote add origin git@gitdojo.gz.cvte.cn:xubobo/xubobo_exam3.git

origin就是远程仓库的名字。
git@gitdojo.gz.cvte.cn:xubobo/xubobo_exam3.git 就是远程仓库(github)的具体地址。
7.push到远程仓库上。

git push origin master

上述代码就表示将本地master分支push到远程仓库origin的master分支中,如果远程仓库master分支不存在,则会被创建。
这样就基本OK了。

其他常用操作:

1.修改远程仓库地址的修改命令:

git remote set-url origin [url]

2.创建分支:

git branch 分支名

查看分支:

git branch

切换分支:

git checkout 分支名

3.将远程仓库中的修改加入到本地工作区中

git pull origin master

有时pull到本地时可能会报错,如:

error: The following untracked working tree files would be overwritten by merge:        .idea/vcs.xmlPlease move or remove them before you merge.

这时按照网上的解决方法:
git stash 缓存起来

git pull origin 分支

git stash pop //还原

git stash clear

还是不行,如果可以不要本地的修改,可以强制pull:

git fetch --allgit reset --hard origin/master

git fetch 只是下载远程的库的内容,不做任何的合并, git reset是把HEAD指向刚刚下载的最新的版本

4.标签 tag

  • 为什么要使用标签?
    我们经常要进行版本管理,而利用tag就可以进行。我们可以在某次提交时,为这次提交打上一个tag,作为一个版本。标签就是版本库的一个快照。
  • 如何使用
    (1) 创建标签:
git tag v1.0git tag -a v1.0 -m "version 1.0 released"

(2) 查看标签

git tag                 //查看所有标签git show v1.0           //参看标签说明

(3) 推送标签

git push origin v1.0        //推送本地标签v1.0到远程仓库git push origin --tags      //推送本地所有未推送过的标签到远程仓库

(4)删除标签

git tag -d v1.0                         //删除本地标签git push origin :refs/tags/v1.0         //删除远程仓库中的标签
原创粉丝点击