Git常用命令
2018-04-02 本文已影响0人
天色将变
配置全局用户名和email
git config --global user.name "username"
git config --global user.email "xxx@xxx.xxx"
项目克隆
cd 到想要存放项目的目录
git clone xxxx地址
这里就会产生一个projectname的文件夹
分支
查看所有分支
git branch -a
结果如下:
* develop (*代表当前所在的分支)
master
remotes/origin/HEAD -> origin/master
remotes/origin/develop
remotes/origin/master
切换远程分支到本地分支
git checkout 远程分支名 -b 本地分支名
如:
git checkout remotes/origin/develop -b locdevelop
locdevelop是本地分支名,如果不存在就则自动创建,以后每次进入都会自动到该分支下
普通分支间切换
比如有两个分支develop 和release ,当前在release下,从release切到develop,如下:
git checkout develop
从develop切到release,如下:
git checkout release
获取服务器所有分支数据
git fetch
创建分支
git branch 分支名
从本地git创建远程分支
git checkout -b newbranchname (新建一个本地分支)
git push origin newbranchname:newbranchname (将本地分支推到远程分支,这时就在远程建立了新的分支,注意origin后面 本地分支名:远程分支名)
从本地git删除远程分支
git push origin :newbranchname (推送一个空的到远程分支,即删除远程分支了)
or
git push origin --delete newbranchname
merge分支
当前有两个本地分支a和b,想要把b的内容合并到a上
1.ab最好都保持服务端最新,且当前没有需要提交的内容。
2.git checkout a 切换到a
3.git merge --no-ff b 把b分支合并到当前分支
4.git status ....add....push
日志查看
git log
查看当前状态
git status
添加文件到提交列表
git add filename1 filename2 filename3
删除文件到提交列表
git rm filename1 filename2 filename3
add后重新恢复到add前的状态
git reset filename1 filename2
取消对文件的修改
git checkout filename
push
git push origin localbranchname:remotebranchname
需要注意的是一定要保证当前分支和远程分支是同一个分支
标准提交流程
git stash (保存当前分支的更改)
git pull (将远程 分支的最新内容download到本地)
git stash pop (将本地分支修改与最新的代码合并)
git add . (将本地所有修改添加到提交列表)
git commit -m "提交注释" (提交代码到本地仓库,并添加提交注释)
git push origin HEAD:master (push到远程分支,HEAD代表当前分支)
回滚
git reset commit的id (保留本地更改,然后回退)
git reset --hard commitId (清除本地分支的所有修改,回退到指定的提交点)
将A分支的一个commit点,提交到B分支
- 找到这个commit的hash值。
- git checkout B -b dev 切换到B分支并创建一个本地分支dev,或用现成的也可以。
- git cherry-pick commitHashValue
- 如果没有冲突,直接push。如果有冲突,解决冲突,commit ,push
从某个commit创建新的分支
- 找到commit的hash值
- git checkout commitId -b 本地新branchName
Tag标签
- git tag 查看标签列表
- git push origin tagname 将标签推送到远程