Git实战查阅记录

788 阅读4分钟

git的安装

  • 通过git的官网下载页面 git-scm.com/downloads 进行下载自己需要的版本,进行安装,若遇到问题,可自行查阅资料解决。 Git工作图

配置

设置git有两种方式:
1、通过终端命令进行设置简写(其他类似):
git config --global alias.[简写名] "[全称]"

2、通过修改git全局配置文件.gitconfig(平台不同文件位置有所不同,如下图所示进行添加;具体可百度)

[user]
    email = xxx@xx.com
    name = xxx
[merge]
    tool = vimdiff
[mergetool]
    keepBackup = false //不保留冲突解决产生的*.orig文件
[core]
    editor = vim
    quotepath = false  //正确显示中文名,不显示八进制文件名
[color]
    ui = auto //git输出着色,增加区分度
[alias]  
    st = status  
    ci = commit 
(ps:此处配置只是简写,仅供参考)
  • [简写名] = [全称]
  • lgd = log --color --graph --decorate --oneline
  • lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen (%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
  • lgall = log --color --graph --all --pertty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen (%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
  • lgt = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen (%cd) %C(bold blue)<%an>%Creset' --abbrev-commit
  • st = status
  • co = checkout
  • br = branch
  • ci = commit
  • push = ps
  • pul = pl

生成公私密匙配置库

  • 生成自己的公私密匙,公密匙给公司git仓库管理员(如果是自己管理的github或者gitee,将公密匙设置进去) ,私密匙自己保存备份。
命令:ssh-keygen -t dsa [ -C "your_email@youremail.com"]
  • git仓库成功设置后,如果远程有项目,则可直接克隆下来,然后进行开发;如果远程没有项目,则:

git init //初始化本地仓库
git remote add origin <repository...> //指定远程仓库地址
git push origin master //将本地的项目提交到远程


git常用命令及语义

git clone github.com/用户名/仓库名.git

如果是github等网站上,网站上会有供大家复制的地址,直接克隆;如果是公司自己代码库一般是一个地址,拉取命令:git clone git@192.168.49.219:xxx.git,xxx表示项目名称。

git init

进入目录中,运行命令进行初始化本地仓库,生成.git文件夹。

git status(st)

查看本地修改情况。

git add

本地修改,提交到暂存区;如果想反悔提交的add,可以git checkout ,取消修改内容。

git commit -m "修改提交描述"

将暂存区的数据提交到本地仓库;如果描述写的不对,需要修改时,使用git commit --amend,进入编辑器(vim)进行修改。

git push origin <本地分支名>:<远程分支名>

后面可简写成一个远程分支名(默认本地分支提交),将本地仓库代码提交到远程仓库。

git pull origin <本地分支名>:<远程分支名>

将远程指定仓库代码拉到本地指定分支,并且与本地合并(如果不确定是否有冲突建议用fetch拉,再merge)。

git fetch origin <本地分支名>:<远程分支名>

将远程指定仓库代码拉到本地指定分支,不合并。此处建议方式是建立一个新的分支,将远程代码拉到新的分支上,然后与要合并的分支进行对比,有冲突就解决冲突,没有则直接将新分支的内容merge过来。

git merge dev

将dev分支合并到当前分支[比喻当前在master主分支]。

git log

查看日志,加-p为详细修改;加--name-status为文件列表;加--stat类似前者。

git lgd

图形化查看提交情况。

git lg

图形化带出提交人、提交时间查看提交情况(配置里的简写都很实用)。

git lgd --all

查看所有分支提交情况。

git show [commit ID]

查看某个指定commit ID的修改详情。

git diff [commit ID] [commit ID]

查看两次提交之间的代码差异详情;diff还可以指定文件进行比对。

git branch

显示本地所以分支;如果在后面加参数 -a 则显示本地及远程所有分支。

git checkout -b [branch name]

新建一个分支,并切换过去。基于某个commit ID新建:git checkout [commit ID] -b [branch name];git branch [branch name],新建分支;git checkout dev,切换分支到dev。

git branch [branch name] [copy branch]

基于[copy branch]新建一个新分支,[copy branch]可以是远程分支或者本地,当线上有个新的分支时,你可以基于远程新建一个本地分支,上面的命令可以 git checkout -b [branch name] [copy branch] 这样写。

git branch -d [branch name]

删除指定分支。

git remote get-url [remote-name]

查看远程分支名对应的地址;git remote,查看远程分支名,一般为origin。

git mv [old] [new]

修改文件名称。

git rm [file]

删除文件。

git reset [--] [commit Id]

回退版本,[--]有两个值 --soft --hard,前者表示只是改变了HEAD的指向,本地代码不会变化;后者直接回改变本地源码到了那个版本,指向改变,使用时需谨慎。

git push origin HEAD --force

远程提交回退;(git reset)操作后本地分支被回退了,远程也需要回退;


最后

此文基本是实战中总结得来,部分查询资料所得,如果有什么错误,请指正;如果你觉得有不足的地方,欢迎补充;如果你觉得文章有用,记得点赞收藏,不喜勿喷,谢谢!