git的相关学习

一、git的安装

windows的安装:git for windows
安装完成后,在命令行输入git --version,能看到版本号就代表安装成功了

二、配置个人信息

需要配置个人的邮箱以及姓名,这样在执行git提交时,会引用这两个信息,可以清楚知道是谁做了提交,配置的语句如下:

git config --global user.email '<邮箱名>'
git config --global user.name '<名字>'

执行过命令后,会在系统根目录下生成.gitconfig,打开该文件后,里面有刚才配置的个人信息

三、常用的git命令

1、git init初始化仓库
2、git clone <仓库网址>克隆已有的仓库
3、git add index.php提交单个文件index.php
4、git add .提交所有的文件
5、git add *.php使用通配符提交某类文件
6、git status查看状态
7、git commit -m '第一次提交'将add提交的文件提交到仓库中
8、git commit -a -m '提交信息'如果要提交的是已经提交过的文件,那么就可以不需要再执行add命令
9、git rm index.php删除仓库和本地的index.php文件
10、git rm --cached index.php只删除仓库中的文件,本地项目里的文件依然保留
11、git commit --amend修改最后一次的提交信息
12、git ls-files查看仓库中的所有文件
13、git push推送
14、git pull拉取

四、日志log

1、git log查看所有的日志(如果过长,按q退出)
2、git log -p -2查看最近的两次提交日志并显示文件的差异
3、git log --name-status查看新增,修改,删除的文件清单
4、git log --oneline一行显示日志信息

五、配置快捷命令

1、在.gitconfig中配置快捷命令(设置别名):
通过命令配置

git config --global alias.a add .
//.有特殊意义,需要在文件中手动添加

这样在.gitconfig文件中就有如下信息
gitconfig.png
参照文件中的格式就可以直接在文件中配置更多的快捷命令
如此配置完成后,git a就相当于git add .
2、在系统的.bash_profile文件中配置快捷命令

alias gs="git status" 
alias gc="git commit -m " 
alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit  " 
alias gb="git branch" 
alias ga="git add ." 
alias go="git checkout" 

配置完成后,需要重启命令行终端,windows是git bash,之后在使用gs就相当于使用了git status

六、配置忽略文件.gitignore

在配有.git仓库的目录下,配置.gitignore文件,在文件中可以直接设置在提交时需要忽略的文件

a.php
/vendor
.idea
*.txt

如此配置,在提交时就会忽略a.php文件,.idea隐藏文件,vendor目录(文件夹)以及所有的txt文件

七、分支

本地只有在第一次提交完成(即git commit -m)之后,才会有分支master
1、git branch查看所有的分支
2、git branch admin创建admin分支
3、git checkout admin切换到admin分支
4、git checkout -b b创建并切换到b分支
5、合并分支,如下是将admin分支合并到主分支master上,

git checkout master
git merge admin

6、git branch -d admin删除已合并的admin分支
7、git branch -D admin删除未合并的admin分支
8、git branch --no-merged查看未合并的所有分支(必须在主分支下才能查看)
9、git branch --merged查看已合并的所有分支

冲突

在分支合并时可能会产生冲突,因为不同分支修改了同一文件或者是不同开发者修改了同一分支的文件,这时候需要手动修改冲突的文件,修改完成后执行git add .以及git commit -m

八、暂存工作状态

需要暂存工作状态的原因:比方说目前在分支1下开发,但这时候需要到分支2下开发,而分支1下做的工作还不能提交,就需要将分支1下的工作状态暂存起来,在分支2下完成开发后再回到分支1下取出暂存的状态继续开发
在暂存前需要先git add .提交一下,但不要git commit -m
1、git stash暂存工作状态
2、git stash list查看暂存列表
3、git stash apply应用最近的一次暂存
4、git stash save ''暂存工作状态并添加暂存信息
5、git stash apply stash@{2}应用暂存列表中的stash@{2}这一个暂存
6、git stash drop stash@{1}删除暂存列表中的stash@{1}这一暂存,删除之后,之后的暂存都会顺次向前移
7、git stash pop应用最新的暂存并删除该暂存

九、标签

可以给某一版本添加标签,比方所版本号
git tag v1.0添加标签
git tag查看标签

十、发布

git archive master --prefix='<目录>/' --format=zip > <打包后的文件名>.zip
 ```
该命令可以将master分支下的代码生成压缩包供上传服务器或别人下载使用
##十一、码云等在线仓库
####1、在码云上创建项目
####2、生成ssh密钥
`ssh-keygen -t rsa `一直按回车直到结束,然后会在`~/.ssh/`目录下生成密钥`id_rsa`以及公钥`id_rsa.pub`,然后在码云等在线仓库下添加公钥`id_rsa.pub`里面的内容
![码云上的添加公钥.png](https://upload-images.jianshu.io/upload_images/12861925-5e8469b4749f6f49.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####3、将码云上创建的项目克隆到本地
`git clone <项目的ssh地址>`
####4、本地修改提交后通过`git push`推动到在线仓库上
####5、不经过`git clone`,直接就将本地的项目推送到码云等在线仓库中
①首先在码云上添加自己的ssh公钥,通过`ssh-keygen -t rsa `生成
②在码云上生成一个空的项目
③在本地创建本地库,并完成初始化提交

git init
touch README.md
git add .
git commit -m ‘本地仓库初始化提交’
``
④给本地仓库添加远程仓库
git remote add origin <码云上创建的空的项目的ssh地址>
⑤查看远程仓库
git remote -v
⑥将本地数据推送到远程仓库
git push -u origin master
注:如果是通过
git clone克隆的仓库,本地和远程已经关联,可直接通过git push`推送

6、git pull

拉取远程主机的某个分支的更新,并与本地的某个分支合并
git pull origin ask:ask拉取关联的远程主机的ask分支与本地的master分支合并
git pull origin ask拉取关联的远程主机的ask分支与当前的分支合并
git pull远程的分支与本地当前的分支同名可以直接拉取

7、git push

git push origin将当前分支的内容推送到远程主机相同分支
git push -u origin master将当前分支的内容推送到远程主机指定的分支上
git push origin --delete ask删除远程的ask分支
git push --set-upstream origin ask关联远程的ask分支并推送

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值