前言
记录一些常用的git命令
1、本地账户初始化
git config --global user.name "" # 本地用户名初始化
git config --global user.email "" # 本地用户邮件初始化
ssh-keygen -t rsa -C "153******@qq.com" # 生成秘钥
cat ~/.ssh/id_rsa.pub # 将公钥复制到GitHub上 (创建ssh key)
git config --list --global # 查看全局设置
git remote -v # 查看远程地址
git remote set-url origin project_url # 更改远程地址
2、克隆项目
git clone ‘origin’ # 克隆项目
cd ‘file directory’ # 进入项目目录
git branch -a # 查看分支
git checkout -b dev(本地新建分支名) origin/dev(远程分支名)
git clone -branch dev(远程分支名) ‘origin’ 克隆指定分支
3、本地项目上传
git init
git remote add origin http://xxx/xxx.git
git add .
git commit -m "提交记录注释"
git push
注意:如果是git到多个仓库用
git remote add github1 http://xxx/xxx.git
git remote add github2 http://xxx/xxx.git
git remote -v # 查看所有remote链接
git push github1 master
git push github2 master
4、删除项目
git push origin --delete <branchName>
5、把远程项目拉到本地
git pull github1 master
git fetch github1 master
git fetch 是从远程获取最新版,并可以查看别人最新提交。可以查看远程与本地的冲突,适合多人开发时检查文件变化。
git pull 是从远处获取最新版并merge到本地。
6、代码回滚
git reset HEAD^ 恢复成上次提交的版本
git reset HEAD^^ 恢复成上上次提交的版本,就是多个^,以此类推或用~次数
git reflog
git reset -–hard 版本号
-–soft:只是改变HEAD指针指向,缓存区和工作区不变;
-–mixed:修改HEAD指针指向,暂存区内容丢失,工作区不变;
-–hard:修改HEAD指针指向,暂存区内容丢失,工作区恢复以前状态;
特殊场景
1、解决windows系统cmd窗口的git命令,显示中文乱码的问题
git config --global core.quotepath false
另外cmd命令行中,遇到带类似“&”特殊字符的命名,可以使用^
进行转义。
2、已经提交的文件,如何忽略?
git 需要忽略某些文件,可以添加到.gitignore
文件进行忽略,记得一定要放在这个仓库的根目录下。
但是如果需要忽略已经提交过的文件,那么必须先删除暂存区中的需要忽略的目录文件。
例如,已经提交了obj目录,后面再需要忽略obj目录,则:
git rm -r --cached obj/
git commit -m "删除不需要的文件"
git push
3、将当前修改内容提交到git新的分支
如果已经保存修改了当前的代码,然后想把这部分新增的修改提交到新的分支,可以如下处理:
//步骤1:在当前的develop分支上的修改暂存起来
git stash
//步骤2:暂存修改后,在本地新建分支(develop_test为新分支的名字)
git checkout -b develop_test
//步骤3:将暂存的修改放到新建分支中
git stash pop
//步骤4:使用命令进行常规的add、commit步骤
git add.
git commit -a "修改内容"
//步骤5:将提交的内容push到远程服务器(在远程也同步新建分支develop_test)
git push origin develop_test