赞
踩
yum install git
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
yum remove git
tar -zxvf git.tar.gz -C /usr/local
# -C是解压到那个目录
./configure --prefix=/usr/local/git
# --prefix表示安装到那个目录
make && make install
ln -s /usr/local/git/bin/* /usr/bin/
git --version
git --help
git +命令 --help #通过浏览器查看某个命令的帮助文档。例如:git add --help
git init
git add ceshi.txt
git commit -m xxx
#配置邮箱和用户名
git config --global user.email "xxx@email.com" #例如: git config --global user.email "zky@163.com"
git config --global user.name "xxx" #例如:git config --global user.name "zhang"
git remote --help
mkdir git-test # 创建一个git-test文件
cd git-test # 切换到git-test文件
git init # 初始化git
touch README.md # 生成README.md文档
git add README.md # 添加到本地缓存里面,如果添加所有需要
git add -A # 表示添加所有内容=git add *
git add -A . #表示添加所有改变的文件
git add . # 表示添加新文件和编辑过的文件,不包含删除的文件,并且会根据.ignored过滤
git add -u # 表示添加编辑过的文件或者删除的文件,但是不包含新添加的文件
git add xx.xx #表示添加xx文件到缓存区
git commit -m "first commit" # 提交到本地仓库,后面是说明
git remote add origin https://gitee.com/destroy_god_zc/git-test.git # 与远程仓库节点建立连接
git push -u origin master # 推送到远程仓库。-u参数为:--set-upstream 为节点跟踪的意思,一次设置后,后续不需要带参数了。
git fetch # 拉取分支到本地仓库
git merge origin/master #将远程的变更合并到本地仓库的master分支
# 上面两条等同于下面一条命令
git pull # 不建议使用,表示强制合并到本地。
新建文件--》Untracked状态
使用add命令后将新建文件加入到暂存区---》staged
使用commit命令后将暂存区文件提交到本地仓库--Unmodified状态
如果对Unmodified状态的文件进行修改---》文件状态就会变成modified状态
如果对modified状态的文件进行rm操作,就会重新回到Untracked状态
git status # 查看git的状态
git rm --cache xxx.xx # 仅删除暂存区里面的文件
git rm xxx.xx #会删除工作区的文件,提交到暂存区
git rm -rf --cached xxx # 递归删除
git checkout xx.xx # 从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会选择覆盖
{
"title":"json在线解析(简版) -JSON在线解析",
"json.url":"https://www.sojson.com/simple_json.html",
"keywords":"json在线解析",
"功能":[
"JSON美化",
"JSON数据类型显示",
"JSON数组显示角标",
"高亮显示",
"错误提示",
{
"备注":[
"www.sojson.com",
"json.la"
]
}
],
"加入我们":{
"qq群":"259217951"
}
}
1、解决bug建分支,不会对主支产生影响。
2、封装一个开放阶段
3、避面不同版本的影响,你开发不影响主分支的向前推进。
3. 创建分支
```git
git branch xxx # 创建分支
git branch # 列出所有分支,分支前面的*号,表示为当前分支
git branch -d xxx # 注意不能删除当前分支
git branch -m 旧分支名 新分支名 # 修改分支名
git checkout 分支名 # 切换分支
# 注意:如果在分支中进行了修改,没有commit就切换到主分支,当你再切换回来时你之前写的分支内容有可能会丢失。
git checkout -f 分支名 # 表示进行强制切换,上一个分支如果没有提交内容会丢失的。谨慎使用此命令。
git log # 会显示出git每次提交的日志记录,包含sha校验码、作者、日期、提交时写的日志内容
git log -数字 #显示最近几次提交的内容
git log -p -2 # 显示最近两次提交的不同点
git log --author xxx #查看具体某个作者的提交
git log --oneline # 输出简要信息
git log --graph # 以一个简单线串联起整个提交历史
git diff # 不加任何参数,用于比较当前工作区跟暂存区的差异
git diff --cached 或者 --staged # 表示比较工作区和暂存区的差异
git HEAD # 当前指针所处分支的工作区和暂存区差异
git diff # 分支名 查看当前分支跟指定分支的差异
git diff 分支1 分支2 # 查看两个分支的差异(已经提交的)
git diff 文件名 # 查看指定文件的工作区和暂存区的差异
git diff commid1 commitid2 # 列出两个历史提交的差异
git diff --stat # 用于罗列有变更的文件
git reset HEAD 文件名 # 移除不必要的添加到暂存区的文件
git reset HEAD^ # 或者 commitid 去掉上一次的提交
git reset --soft HEAD^ # 撤回后仍然在暂存区里面等待提交,可以修改提交的信息内容
git reset --soft # 表示撤回一次提交,但是暂存区和工作区都不会改变,只是将本地仓库里面的给删除了。
git reset --mixed # 表示撤回一次提交,但是工作区不会改变,暂存区恢复到上一次提交的状况。
git reset --hard # 工作区和暂存区都恢复到上一次提交的状况。即:你写的内容都会丢掉,当然有可能你真的不想要了。
^x: 尖头符号,形似箭头,表示要朝那个方向,始终是走一步,x 表示第几个岔路口,代表方向盘
~y: 波浪符号,表示要在该方向上走 y 步,始终沿着该方向,代表油门
git merge 分支名 #拿指定分支名与当前分支进行合并
git diff --name-only --diff-filter=U #用于查看产生冲突的文件
1、冲突的制造:A分支和B分支修改了同样的文件,当A提交后,合并到master分支上,合并后B打算先拉取再提交,当拉取时出现了冲突,因为当前同一个文件修改的相同,处理方案:要么要你的,要么要他的,要么全部要(手动处理,删除)。处理后,再通过add,commit提交上去。(可以通过git diff --name-only --diff-filter=U定位冲突的文件)
git tag 标签名 # 默认给最近的一次提交打上标签名
git tag 标签名 commitid # 给相应的提交打上标签
git show 标签名 # 显示该标签相关的提交信息
git tag -d 标签名 # 删除该标签
git push 远程分支名 标签名 # 把某个标签推送到远程服务器上(必须是本地已经存在,否则失败)
# 1、删除本地标签.
# 2、再删除远程标签
git tag -d 标签名
git push origin :refs/tags/标签名
server.httpPort=7070
server.httpsProt=7071
server.shutdownPort=7072
server.httpBindInterface =xxx.xxx.xxx.xxx #(ip/域名)
GITBLIT_PATH=/home/ubuntu/git-blit/gitblit-1.9.1
GITBLIT_BASE_FOLDER=/home/ubuntu/git-blit/gitblit-1.9.1/data
nohup java -cp "gitblit.jar:ext/*" com.gitblit.GitBlitServer --baseFolder data &>/home/ubuntu/git-blit/gitblit-1.9.1/log/log.out &
# git公钥生成
git config global user.name "你的用户名"
git config global user.email "你填的邮箱"
ssh-keygen -t rsa -C "你填的邮箱"
#复制id_rsa.pub文件的全部内容,粘贴到ssh keys中
touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin ssh://zhangkaifan@192.168.1.195:29418/testOne.git
git push -u origin master
git remote add origin ssh://zhangkaifan@192.168.1.195:29418/testOne.git
git push -u origin master
# 当个配置
git config core.excludesfile .gitignore
# 全局配置
git config --global core.excludesfile ~/.gitignore
# 提交的时候,采用git add .方式提交,会默认通过.gitignore进行过滤
如果已经add甚至提交到本地仓库了,可以通过untrack的方法重新add
git rm -r --cached .
git add .
git commit -m “update .gitignore”
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。