Git 常用命令 语法
- git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中
git fetch origin
- git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
git pull
- git branch -v 显示所有的分支
git branch -v
- git checkout branchname 创建分支
- git checkout -b branchname 创建并切换新分支
git checkout
- git status命令表示:文件,文件夹在工作区,暂存区的状态
git status
- git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
- git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
- git add -A :是上面两个功能的合集(git add --all的缩写)
git add
- git merge 用于从指定的commit(s)合并到当前分支的操作。比如当前是master分支,执行下面操作,就是将branchname 分支的内容 merge 到master 分支
git merge branchname
-git commit 将暂存区里的改动给提交到本地的版本库. 通常情况下,需要 -m, 填写commit 的信息。
git commit -m "message"
- git push 将本地版本库的分支推送到远程服务器上对应的分支.
# 即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名
git push origin master:refs/for/master
-git checkout 某一个文件, 放弃某个文件的修改
git checkout path.file
典型应用场景分析
开发分支合到Master
开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master
master 代码 更新 开发分支
当master代码改动了,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev
git merge master
git push -u origin dev
本地代码上传到本地分支
git add .
git commit -m "update codes"
初次使用git,在执行完"git add readme.txt"命令后,在执行commit时,由于命令写错,没有写提交日志,再次更正提交就出现上述错误:Unable to create ‘E:/xxx/.git/index.lock’: File exists
解决方案:在.git同级目录,执行rm -f .git/index.lock 将文件删除即可提交成功