git 日常 常用命令
初始化git
git init
第一次拉代码:
方式1:git clone
git clone https://git.oschina.net/*****.git (https远程仓库地址)
方式2:
1)git add remote origin 仓库地址(先添加远程仓库remote)
2)git pull origin (获取远程仓库所有分支)
3)git pull origin master(拉取默认分支master代码)
远程仓库remote操作:
1、要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用:
git remote add team(仓库名.默认origin) https://git.oschina.net/*****.git(现在可以用字串team 指代对应的仓库地址了)
git pull team master
2、列出已经存在的仓库(只显示仓库别名,不显示详细地址)
git remote
3、列出仓库及详细信息,在每一个名字后面列出其远程url
git remote -v | --verbose
4、重命名仓库名称
git remote rename <old> <new>
5、修改远程仓库地址
a).修改命令 git remote set-url origin [url] b).先删后加 git remote rm origin git remote add origin [url] c).直接修改config文件
提交代码:
git add . git commit -m"first commit" git push team(仓库名) master(分之名)
分之(branch)操作:
git branch 查看本地分之 git branch -r 列出远程分支 git branch -a 查看本地+远程分支 git branch new_branch 创建分之(不进行切换) git checkout -b new_branch 创建并切换分之 git checkout version2(分之名) 切换分之 git checkout .//或者git checkout a.txt 放弃本地工作区文件的修改 git checkout -b new_branch origin/branch-name 从远程分之上创建本地分支并切换分之(远程分之)在本地创建和远程分支对应的分支(本地和远程分支的名称最好一致;) git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名。 git branch -d | -D branchname 删除branchname分支
删除远程branchname分支
git branch -d -r origin/branchname
git push origin :branch-name
暂存
git stash // 暂存当前状态 git stash drop [<stash>] 删除某一个进度,默认删除最新进度 git stash apply [--index] [<stash>] 不删除已恢复的进度,其他同git stash pop git stash clear 删除所有进度 git stash branch <branchname> <stash> 基于进度创建分支
文件对比
git diff filepath 工作区与暂存区比较 git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较 git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较 git diff commitId filepath 与某一次提交进行比较
查看修改文件的状态
git status 查看当前修改状态(列出所有修改)
日志,,,,,找到要回滚的commitID
git log # 查看修改日志(所有)
git log --oneline -n5 # 显示最近5次提交日志
回滚
git log <filename> # 查看指定文件的历史版本 git checkout <commitID> <filename> # 回滚到指定commitID
git revert commitID
删除某次提交
git rebase -i "commit id"^ #需要注意最后的^号,意思是commit id的前一次提交(在编辑框中删除相关commit,然后保存退出(如果遇到冲突需要先解决冲突)!) git push origin master -f
删除最后一次远程提交
方式一:使用revert git revert HEAD git push origin master 方式二:使用reset git reset --hard HEAD^ git push origin master -f 二者区别: revert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在; reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。
添加并生成ssh
git bash下输入一下命令 ① cd ~/.ssh/ 【如果没有对应的文件夹,则执行 mkdir ./.ssh】 ② git config --global user.name "janice_jia" ③ git config --global user.email "janice_jia@qq.com" ④ ssh-keygen -t rsa -C "janice_jia@qq.com" 出现提示一路回车,,,
最后:找到C:\Users\xb12369\.ssh 目录,里面有两个文件:id_rsa和id_rsa.pub
复制id_rsa.pub里的内容设置ssh