Git 安装和使用Tips

1. git的安装

2. git的常见用法

3. git的常见问题

 

 

1. git的安装

 

1)首先去下载
https://git-scm.com/downloads

 

[root@VM_0_10_centos ~]# yum install git

[root@VM_0_10_centos ~]# git --version
git version 1.8.3.1

 

 

 

 


在上述官网上下载符合自己操作系统的git版本,PS翻  墙会快一些,不翻   墙经常出现网络错误而下载失败

分享网盘资源下载

链接:https://pan.baidu.com/s/1IhPuJY1Kvb7ip3RPy1waAw 密码:65wr

 

2)傻瓜式下一步再下一步地去安装

安装完毕后,Windows平台下用Git Bash工具双击打开,接下来我们要去做生成秘钥操作,how to?
生成密钥命令如下,直接复制并粘贴到窗口中,邮件地址可以是注册github、gitlab平台到邮箱,也可以不是注册到邮箱,邮箱是为了知道通知你,你到密钥被加到哪个账户上去了。

ssh-keygen -t rsa -C "xxx.qian@xx.com"

打开密钥生成文件,注意一下自己刚刚生成的目录,我这边是默认路径

C:\Users\jasqia\.ssh

 

id_rsa.pub内容复制到自己的gitlab,或者github中。 一般是 User Settings 下的 SSH Keys

注意一定是公钥,加pub字样的,私钥是用来加密,公钥用来解密

 

 

2. git的常见命令

 

 

2. 1 提交代码

 

git init
对当前目录进行初始化,使当前的目录交由Git进行管理

 

git status
查看当前项目下所有文件的状态

 

git add.【add 和 点 . 之间有空格注意哦】
对当前目录下的所有文件进行跟踪

 

git status
查看当前项目下所有文件的状态

 


git commit 提交代码
一般 加一些描述,例如

 

git commit -m "initial commit" //初次提交代码
git commit -m "add xx file"

 


git remote add origin git@xxx.com:usrname/project-name.git //初次提交代码

 

git push -u origin master

 

 

下载代码
通过gitbash 或者
开发软件中的命令行比如Intelij Idea
或者eclipse中自己添加插件,后新建项目时候选git clone选好指定的目录
选好指定的目录

 

git clone
GitHub上的项目到本地
git clone git@xxx.com:xx/project-name.git
git clone https://github.com/xxx/project-name

 

git pull 后续server上代码有更新,git pull命令将更新本地代码

 


git status 查看当前目录以及子目录的变更
git rm xxfile 删除命令
git rm xxfolder 删除命令

 

 

涉及分支创建、合并、删除等

 

查看目前所在的分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>

 

分支提交代码
git commit -m "comments"
git push origin branchname

 


git reset HEAD <file>

 


如果分支中有和master中由同一文件名的文件,要怎么办?

 

3. git的常见问题

1)  提示出错信息:fatal: remote origin already exists.

出错原因是此目录下的git已经指向了一个远程的初始路径,且和你此次想指向的路径不一致;那要么自己check下,是否路径需要更新。若需要,有两种方式,要么删除目录下的.git文件夹,一般情况下是隐藏的;要么直接用命令

git remote rm origin  来删除掉初始路径,然后重新git remote add origin git@github.com/xxx即可

 

 2)  发现日志等文件没有上传

是因为在.gitignore文件中进行了配置,如下截图

此文件会忽略要上传的带有特定后缀的文件

 

git clone -b develop remost_URL

 

 

 

1.fetch和merge和pull的区别

 

 pull相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。

 

 git fetch:相当于是从远程获取最新版本到本地,不会自动merge

 

 git merge :  将内容合并到当前分支

 

 git pull:相当于是从远程获取最新版本并merge到本地

 

 

 

2.tag

 

tag指向一次commit的id,通常用来给开发分支做一个标记

 

打标签 : git tag -a v1.01 -m "Relase version 1.01"

 

提交标签到远程仓库 :  git push origin --tags

 

查看标签 : git tag

 

查看某两次tag之间的commit:git log --pretty=oneline tagA..tagB

 

查看某次tag之后的commit: git log --pretty=oneline tagA..

 

 

 

3.Git和SVN的区别

 

Git是分布式版本控制系统,SVN是集中式版本控制系统

 

 

 

4.Git工作流程

 

1、在工作目录中修改某些文件

 

2、对修改后的文件进行快照,然后保存到暂存区域

 

3、提交更新,将保存在暂存区域的文件快照永久转储到Git目录中

 

 

 

5.常用命令

 

git show # 显示某次提交的内容 git show $id

 

git add <file> # 将工作文件修改提交到本地暂存区

 

git rm <file> # 从版本库中删除文件

 

git reset <file> # 从暂存区恢复到工作文件

 

git reset HEAD^ # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

 

git diff <file> # 比较当前文件和暂存区文件差异 git diff

 

git log -p <file> # 查看每次详细修改内容的diff

 

git branch -r # 查看远程分支

 

git merge <branch> # 将branch分支合并到当前分支

 

git stash # 暂存

 

git stash pop #恢复最近一次的暂存

 

git pull # 抓取远程仓库所有分支更新并合并到本地

 

git push origin master # 将本地主分支推到远程主分支

 

posted @ 2019-04-25 17:14  巴黎爱工作  阅读(496)  评论(1编辑  收藏  举报