gitblit的使用
下载与安装
配置
1.配置用户名和邮箱
git config --global user.name “你的用户名”
git config --global user.email “你的邮箱地址”
2.配置ssh私钥
ssh-keygen -t rsa -C “你的邮箱地址”
执行生成私钥的命令后,会提示你输入一些信息,这里不用输入,直接回车即可(重复几次会车)。
git常用命令
1.git add ./
2.git commit -s -m “”
3.git push origin master
提交修改到远程master分支中
4.git branch -vv
查看本地分支与远程分支的关联关系
5.git branch -a
查看所有分支(本地和远程分支)
6.git push origin --delete 远程分支名
删除远程分支
7.git branch -d 本地分支名
删除本地分支
8.git checkout -b 本地分支名 origin/远程分支名
新建分支并切换到相应的远程分支上
9.git push 远程主机名 本地分支名:远程分支名
将本地分支推送到远程 git push origin dev:nnnn
10.git pull 远程主机名 远程分支名:本地分支名
取回某分支的更新再与本地指定分支合并
git pull = git fetch + git merge
有一次git pull 没有拉到服务器上的代码,使用了如下指令成功拉取
git pull origin master --allow-unrelated-histories
但查看状态时判断当前有1个commit(不知道为什么,明明没有在本地有任何提交的),reset后成功同步到服务器代码
11.git fetch 远程主机名 远程分支名
取回某分支的更新,省略远程分支名,即表示取回远程主机上所有更新
取回更新后会返回一个FETCH_HEAD,可以通过查看这个值获取远程主机最新的修改
git log -p FETCH_HEAD
12.git merge 分支名
将分支名的内容合并到当前分支中
13 git tag tag名称 ---- 打tag
git push origin tag名称 ---- 推送tag
git常用场景
1.删除修改
(1)删除本地修改
git checkout -f
(2)删除本地暂存区的修改
git reset --hard
git clean -xdf
(3)删除本地commit修改
git reset --soft commitid 这是删除本地仓库中的commit修改,但是暂存区内容不会被修改
2.git合并分支A到分支B
(1)git checkout 分支B //切换到分支B
(2)git pull //拉取分支最新内容
(3)git merge 分支A //合并分支A的内容到分支B
(4)如果有冲突,解决冲突
(5)git push origin 分支B //提交分支
3.撤销push到远程分支的代码
git log --oneline -5
git reset --hard xxx(提交的commitid)
git push origin 远程分支名 --force
4.查看远程版本库
git remote show origin
修改所连接的远程版本库
git remote set-url origin http://xx/xxxx/xxx.git
git常见错误
1.git pull --rebase
There is no tracking information for the current branch.
Please specify which branch you want to rebase against.
See git-pull(1) for details.
git pull
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/ xxxx
解析:本地分支和远程分支没有建立联系导致拉取时不知道拉取什么分支
方案:git branch --set-upstream-to=origin/远程分支名 本地分支名
2. 解决冲突
git add .
git commit
(1)git pull发生冲突
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
修改冲突文件后执行
git add .
git commit “xxx”
git push xx 正常提交
3. 大文件下载
git lfs fetch