C:\Users\liudong\.ssh config文件 ################## host github.com hostname github.com user git identityfile ~/.ssh/liudong
################ 生成指纹文件,并将该指纹文件放在C:\Users\liudong\.ssh下,然后把公钥文件pub内容贴到git服务器上 ssh-keygen -t rsa -C"your_email@youremail.com"
超长路径解决 git config --global core.longpaths true
拉取代码到本地 git clone -b dev2 git@github.com:liudong/mybatis.git local_folder
创建并切换到分支 git checkout -b dev
提交该分支 git add devbranch.txt git commit -m "dev branch" git push origin dev
回退1 git log git reset --hard XXX 回退到指定版本号 git push -f origin dev 然后强制回退远程仓库
回退2 git revert XXXX 指定要干掉的已经提交的版本号 git commit -m "dev branch delete version" git push origin dev
合并 git checkout master 切换到 master git merge dev 将dev合并到master #如果merge冲突,则需逐一处理,处理步骤可能重复多次,命令行最右边变成类似master|MERGING #如果想放弃合并 git merge --abort ### git diff #查找冲突的文件 手动修改文件 git add 文件 git commit -m 'ssxxxx' ### git push origin master
标签 git tag v1.0 -m 'tag message' git tag git push origin v1.0
按标签拉代码 git clone --branch v1.0 git@github.com:xxx/ccccc.git
git pull origin dev2 #拉取远程代码并更新本地代码,使本地代码和远程代码一致,但已经commit,但未push,无效 git log dev2 ^origin/dev2 #查看dev2分支在本地仓库中未提交到远程仓库的版本,即已经commit,但未push git reset --hard XXX 回退到指定版本号
#用临时分支查找差异 git fetch origin dev2:temp #拉取远程代码,但并不更新本地代码 git diff temp #查找差异 git merge temp #更新本地代码,使本地代码和远程代码一致
#在新拉下来的文件基础上修改 git commit -a -m 'aafdfdfds' git push origin dev2
git checkout -- <file> #恢复某文件