git基本操作,git本地推送到远程分支, git命令,git合并分支

在我们的实际开发中不可避免的会遇到代码管理,下面简单的描述下自己在使用git中的命令

git clone 地址

git checkout -b 分支名称  git checkout 分支名意为切换分支,加上-b参数为创建并切换到该分支

git branch    查看所有分支,分支前带有*为当前所在分支

git branch -a     查看远程分支

git branch -vv  查看本地和远程的哪个分支连接了

git log    查看提交日志

git branch --set-upstream dev  origin/远程分支  将本地分支与远程分支进行链接

git diff    比较暂存区和工作区的差别(所有文件的更改均会列出)

git diff --文件名   列出指定文件的更改

git diff master dev --index.html     比较index.html文件在master和dev两个分支的变化

git diff 分之一commit_id  分支二commit_id  比较两个分支上两个commit的变化

 

git reset --hard commit_id    版本回退到具体的某一次提交

一般的代码提交流程

首先执行git pull 拉取远程仓库中的代码以免冲突,覆盖情况的发生然后使用git status 查看文件的状态,即我们改动了哪些文件,然后git add 进行提交,此时在执行git status 则文件变成了绿色,然后执行git commit -m '本次提交的描述'此时将代码提交到了本地仓库然后执行git push

git pull       拉取远程更新

git status      查看当前分支状态

git add       提交文件

git commit -m '提交描述'  将文件提交到本地仓库

git push          推送到远程

git push 远程主机名 当前分支名:远程分支名  将本地推送到远程指定分支上具体命令例如  git push origin dev:dex   origin是远程仓库的别名 代替xxx.git的地址

在我们集体开发时,有可能一个分支有多名同事在开发,当A进行push之后,B要更新也就是(git pull)有可能会出现以下情况

$ git pull
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
From github.com:michaelliao/learngit
fc38031..291bea8 dev -> origin/dev
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream dev origin/<branch>

这个失败的原因是本地分支没有与远程dev分支链接根据提示使用

git branch --set-upstream dev  origin/远程分支

git删除远程分支 :git push origin --delete 远程分知名

git删除本地分支:先git checkout maser 然后在执行git branch -d 本地要删除的分支名

 

原文地址:https://www.cnblogs.com/mzli/p/10629923.html