一. 常用流程
1》git status 查看状态,已修改的文件
2》git diff file_path 查看文件的修改内容
3》git checkout . #(中间有空格,在add之前) 删除本地所做的修改
4》git add . 将变化保存到仓库
5》git commit -m "content" 提交,content表示所做的工作
6》git checkout branchname 切换分支(branchname:目标分支,并且该分支已存在)
7》git pull origin branchname 从远程分支处pull代码
8》git diff HEAD^ HEAD or git show # view the diff of last commit 查看pull的代码修改内容
9》git merge branchname merge分支内容
10》git push origin branchname 将代码push到远程分支
二. git新建项目托管:
git init
git add .
git commit -m "commit content"
git remote add origin ssh地址
git push -f origin master
三. 创建新分支
1》git checkout -b newbranchname 切换到新的本地分支
2》git checkout -b local_branch origin/origin_branch 在本地创建服务器端存在的分支,同时会把该分支的远程代码下载下来
四. git下载项目
git clone 地址
五. ignore文件不起作用
原因: .gitignore 文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。已经维护起来的文件,即使加上了gitignore,也无济于事。
解决:
1> git update-index --assume-unchanged PATH
===>在PATH处输入要忽略的文件。
===>缺点:pull代码的时候会出错,merge问题,提示path处文件会覆盖掉本地的,提示commit
2> git rm --cached -r PATH
===>解释:删除不需要追踪的文件,并将该变化commit
六. 回退
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
七. 代码abandon后处理
git reset --soft commit_id(远程最新的commit_id)
然后重新add,commit,push就可以了
八. 暂存修改,不进行commit切换到其他分支工作
(参考:https://www.cnblogs.com/ayseeing/p/4240429.html)
1> 没有新文件时,git stash 或 git stash save "注释" 来暂存修改
2> 有新文件时,需要添加 -a 参数,即 git stash -a 或 git stash save -a "注释";或者,先 git add . ,再进行1>步骤
3> git stash list 查看 stash 列表
4> git stash apply stash@{id} 开启指定的暂存,不会在 stash list 里面将此次修改暂存记录删除,stash@{id}里面的id默认从0开始,最近的暂存为0
5> git stash pop 开启最近的修改暂存,会在 stash list 里面将此次修改暂存记录删除掉
6> git stash drop stash@{id} 删除指定的暂存记录
7> git stash clear 删除所有的暂存记录
九. 工作中遇到的报错处理
1> git pull报错:fatal: cannot resume: .git/rebase-apply/final-commit does not exist.
==处理:先执行git rebase,会提示你如何做,根据提示执行命令,然后就可以git pull了。
补充:Git教程
网友评论