github上创建库repo
然后
在centos terminal操作
本次使用的是ssh,在terminal操作如下
下载项目
创建.git
创建ssh 密钥,这里不输入密码,后续在pull和push时可以省点心。
git clone git@github.com:177com/eyas_plan.git
git init
ssh-keygen
常用git命令
这里commit是更新到本地库,然后pull是从服务器更新到本地,push是从本地更新到服务器。
git add xxx #无论是新加文件,还是修改的文件,都需要用add操作;这和svn不同
git rm xxx
git commit -m "xxx"
git commit -a -m "xxx" #对修改的文件可以这么使用:add+commit ; 对第一次创建的文件只能分开操作
git pull 更新到最新,如果main曾经reset到分支的版本,那么会把分支的版本当做最新(如果main没有修改)
git push
git status 查看本地哪些有修改文件
git diff xxx 查看文件内容的修改
git log --pretty=oneline --abbrev-commit 查看版本号
git reset --hard xxx 更新到某个版本上,xxx为版本号
git reflog
git diff HEAD -- xxx 对比服务器和本地文件xxx的区别
如何只up一个文件到指定版本?假设有两个人分别开发了a,b。a发布的版本是v1,b发布的版本是v2,那么我需要创建a、b两个分支,然后分别reset到对应的v1v2版本,问题在于,如果v1修改了common,b2也修改了common,那么就会产生冲突从而无效(毕竟是带着整个版本去做的,修改一点点common都会有问题;如果a的文件被b拿去修改了,而main先merge了b,则a需要再次提交,才能被merge进去)
git checkout -b yyy 创建并切换到分支yyy
git merge yyy 将yyy分支的内容合并到当前分支
git branch -d yyy 删除yyy分支
git branch 查看所有分支
git checkout yyy 切换到yyy分支
git tag <-d> v1.0 <版本号> 打tag标签;-d表示删除;如果加了版本号,表示回退到过去的某个版本merge后一起打tag。(因为tag是按当前分支最新的版本去打的)
git tag 查看tag
git show v1.0 查看tag信息
git push origin v1.0 更新v1.0到服务器
git push origin --tags 更新所有tag到服务器
git tag -d v1.0 & git push origin :refs/tags/v1.0 先在本地删除tag,才能删除服务器的tag
配置缩写命令
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.up pull
wiki
github wiki需要pro版本才能使用(48/年)