1.创建本地仓库
git init
初始化仓库
2.注册git用户
git config -- global user.name xxx
用户名
git config -- global user.email xxx
用户邮箱
git config -- list
查看用户信息
注:加 -- global
为全局设置
3.向本地版本库添加修改
git add [path]
会把对应目录或文件,添加到缓存状态。
git add .
会把当前所有的untrack files和changed but not update 添加到缓存状态
移除文件:
git rm <fileName>
连带从本地工作目录中删除指定的文件
git rm --cached <fileName>
删除你本地版库的文件,但不删除你本地文件,删除的文件也不会被git跟踪
4.向本地版本库提交代码
git commit -m “<备注>”
提交修改,添加注释
注:git 提示: 未有add红色字体,未有commit绿色字体,已提交则worktree是干净的
5.查看当前代码库的状态
git status
6.查看指定版本信息
git show sd54jkfd894.....
show后面为每次提交系统自动生成的一串哈希值
git show dfk5646.....
一般只使用版本的前几个字符即可
7.撤销修改
git reset
撤销修改
(1) 撤销整体修改
git reset -- hard
回到原来编辑的地方,改动会丢失
git reset --hard sjkj5645.....
可回到指定的版本(hard后面为每次提交系统自动生成的一串哈希值)
git reset [path]
会变成path指定的文件或目录的stage状态,到非stage状态。
git reset
会将所有stage的文件状态,都改变为非stage的状态。
(2)撤销某次修改
回退1个change的写法就是git reset HEAD^
,2个为HEAD^^,3个为HEAD~3,以此类推。
8.向远端库推送修改
git push origin <远端分支名>
10.暂存修改
git stash
可以把当前的改动(stage和unstage,但不包括untrack的文件)暂存。然后通过git stash list
查看
并通过git stash apply
重新取出来,但apply之前要保证worktree时干净的。
11.获取远端项目
git clone/pull
git remote add origin "<远程项目链接>"
git fetch origin dev
(dev)为分支
git pull origin <本地分支名称>
把某个分支上的内容都拉取
git pull <远程主机名> <远程分支名>:<本地分支名>到本地
#取回远程主机某个分支的更新,再与本地的指定分支合并。
12.多分支合并一个分支
git add.
添加改动的文件
git commit
提交至本地版本库
git pull rebase
将服务器项目于本地项目合并
git push
将本地的项目上传到远端库
- 本地clone自己的远程仓库
git clone <自己的远程仓库地址>
- 添加其他远程仓库地址做为远程仓库的地址
git remote add <其他远程仓库名> <其他远程仓库地址>
- 新建本地分支来接受远程仓库的内容并切换到新的分支
git checkout -b < 本地新建分支>
- 从远程分支更新到本地新建的分支
git pull <其他远程仓库名> master:<本地新建的分支>
- 切换回本地master分支(这个分支跟自己的远程分支是保持同步的)
git checkout master
- 将本地新建的分支合并修改到master分支
git merge <本地新建的分支>
- 提交变更到自己的远程仓库
git push origin master
Git分支管理
1.建立分支
git branch <AAA>
建立分支AAA
git push origin <远程分支名>
创建远程分支(本地分支push到远程)
2.分支切换
git checkout <AAA>
从当前分支切换到分支AAA中,如果AAA不存在则自动创建
git reset --hard test
将主分支重置为test分支
3.将主分支与master合并
git checkout master
首先切换回主分支
git merge <AAA>
将分支AAA与主分支合并
注:git merge: 默认情况下,git执行“快速式合并”(fast- farward merge),会直接将Master分支指向Develop分支。使用–no- ff参数后,会执行正常合并,在Master分支上生成一个新的节点。为了保存版本演进的清晰(保持提交曲线为直线),建议才用这种方法。
4.当前分支查看
git branch
默认有master(也称为主支)
git branch -r
查看远端分支
git branch -a
查看当前所有分支(包括本地分支和远端库分支)
5.删除分支
git branch -d <BranchName>
删除本地分支AAA
git push origin --delete <BranchName>
删除远程分支
6.切下远端库A分支到本地库A分支
git checkout -b A origin/A
(若本地A分支不存在,则自动创建)
本地代码上传到GitHub步骤
1.初始化本地仓库
git init
2.向本地版本库添加修改文件
git add .
3.向本地版本库提交代码
git commit -m ”<备注>“
4.将GitHub的用户名个Email配置到本地
git config --global user.name “github用户名”
git config --global user.email "github邮箱"
6.将生成的公密匙配置到你的github中
生成的公密匙的文件
将你的公密匙放到你github的如图位置
7.将你的代码上传到github中
git push -u origin master
8.查看文件状态
git status
Git的几个特殊用途
1.git更新单个文件或指定文件
git fetch origin master #从远程的origin的master主分支下载最新的版本到origin/master分支上
git checkout origin/master fileName
2.git强制覆盖本地代码
git fetch --all #从另一个存储库下载对象和引用
git reset --hard origin/master #放弃本地修改
git pull #开始更新
3.git强制推送本地代码到远程仓库的某个分支
git push --force origin <分支名>
4.将本地某分支(如:test)强制(-f)推送到主分支master
git push origin test:master -f
5.如果你提交完了发现漏掉了几个文件没有添加,或者提交信息写错了。
git commit --amend