记录一些git相关的使用,首先去官网下载好Git并安装好https://git-scm.com/downloads,之后在cmd(或linux终端)输入git,回车。如果弹出很多提示,说明安装好了。这里不详细讲解,下面的操作基本要求:Git在系统上安装好,无论是cmd还是linux终端,在任何目录下都应该能使用git命令。
一、Git环境配置
- 配置用户名
git config --global user.name "username" - 配置邮箱
git config --global user.email "xxx@email.com"
ps: "username"是自己的账户名,"xxx@email.com"注册账号时用的邮箱
二、生成ssh
- 输入ssh-keygen -t rsa,然后一直回车,在 C:\Users\你的用户名.ssh文件夹会生成两个文件id_rsa、id_rsa.pub,我们需要用到的就是这个id_rsa.pub中的内容
-
将.ssh文件夹公钥id_rsa.pub中的内容添加到远程的仓库管理平台(GitHub,GitLib等),这里以GitHUb为例。
-
按上面的步骤,ssh就算配置好了,然后在GitHub上新建一个仓库用于存储项目或其他资料
- 在本地文件夹中拉取Github上的项目,在本地创建一个空的文件夹,然后打开cmd(或者终端)进入到新建的文件夹目录下,输入下面的命令:
- git clone 你刚刚复制的git链接 回车
这样就将Github上的项目下拉到了本地
- 如果GitHub创建了一个空仓库,你想把本地的项目传上去,在第一次操作时
- git init
- git remote add origin 你刚刚复制的git链接
- git add .
- git commit -m "提交的备注信息,写啥都行"
- git push -u origin master
ps:这样执行完成后就把你的项目上传到了远程仓库中,这是在第一次上传项目的操作,如果git clone下来的项目不需要这样操作,clone下来的已经将git远程仓库与本地新生成的文件建立了联系,直接commit,push就行了。另外,所有操作需要进入到相应的目录下操作,在本地文件仓库中有个.git文件夹,这里面含有每个本地仓库与远程仓库联系文件。
- 从远程仓库更新数据到本地
- git pull --rebase
- git pull origin master
三、常用的git命令
1.初始化:git init
2.查看状态:git status
3.添加文件:git add .
4.提交 git commit -m”备注”
5.查看日志:git log
6.查看当前分支:git branch
7.拉取最新代码:git pull origin 分支名
8.推送代码:git push origin 分支名
9.删除远程分支:git push origin :分支名
10.新建分支,并切换到新建的分支:git checkout -b 新分支名
11.将新建的分支推送到服务器:git push origin 新建的分支名
12.删除本地分支:git branch -D 分支名
13.合并某个分支到当前分支:git merge 需要合并到当前分支的分支名
14.强制回撤到某次提交的版本:git reset —hard 版本号的前6位(如:abe75e)
15.添加tag:git tag -a “标签名” -m”备注”
16.将添加的标签推送到远程服务器:git push —tag
17.进入到某个tag:git checkout 标签名
18.强制回撤到某个标签:git reset —hard 标签名
19.删除本地tag:git tag -d 标签名
20.删除远程的tag:git push origin -–delete tag 标签名
21.删除git而不删除文件:find . -name “.git | xargs rm -Rf
22.查看git远程仓库地址:git remote -v
23.移除远程的git地址:git remote rm origin
24.将本地修改强制推送到服务器 git push -f -u origin master
25.修改某个已经提交的记录的备注 git commit --amend,编辑后先esc再:wq保存退出
26.删除项目中的所有.DS_Store
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch .gitignore
echo .DS_Store >> ~/.gitignore
27.关闭git pull后产生的merge信息:git config --global core.mergeoptions --no-edit
28.拉去本地不存在的远程分支到本地如:git checkout -b im origin/im
29.清除缓存 git clean -dfx
30.查看远程分支 git branch -r
31.选择性合并某个版本的提交 git cherry-pick 版本号
32.丢弃文件 git checkout -- 文件路径
四、将git log替换成git lg,并且彩色显示
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"