Git Bash安装及常规使用
1、远程仓库添加sshkey
首先得有github账号吧,本地Git仓库和github仓库之间的传输是通过SSH加密的,在联系本地与远程仓库前,还需要进行一些设置。
1、使用Git Bash生成公、私密钥
查看本用户目录是否存在.ssh目录以及.ssh目录是否具有id_rsa和id_rea.pub文件,如果有说明生成过密钥。
首先应该需要设置用户名、用户邮箱,然后执行以下命令生成密钥(执行过程中提示输入密码直接回车即可)
ssh-keygen -t rsa
执行成功后,就会在用户目录下生成.ssh/id_rsa文件和.ssh/id_rsa.pub文件。
可通过以下命令查看密钥:
cat ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub
2、添加SSH key
首先登陆github,然后Settings->SSH and GPG keys->New SSH key,将上一步生成的公钥拷贝到github,然后保存就可以正常pull、push代码了。
初始化仓库有两种方式,一种在远程创建仓库,然后clone到本地;另一种是将本地已有的项目推到远程仓库。
2、Git使用说明
1、Git之stage、unstage
未被Git跟踪的状态为unstage状态
已经被Git跟踪的状态为stage状态,因此包括staging状态和staged状态
untrack files是指尚未被git所管理的文件;
changed but not updated是指文件被git管理,并且发生了改变,但改动还没被git管理;
这两种状态,都可以看成是改动还没被git管理的状态,我们这里称非stage状态。
changes to be commited是指进入stage状态的文件,可以被提交,stage是commit和未管理之间的一个状态,也有别名叫index状态,也就是git已经管理了这些改动,但是还没完成提交。
Changes not staged for commit,指一种文件已被修改但无法被提交的状态,可以通过命令git add fileName来添加到可提交状态。当然,反过来考虑,已经处于可提交状态的文件也可以通过命令git restore fileName来使其处于不可提交状态(测试了,这条命令貌似不起作用(会变成deleted),why?不过可以使用git reset HEAD来清空缓存区)。
Changes to be committed
Changes not staged for commit
Untracked files
2、Git删除缓存区文件
1、如果一个文件已经add到暂存区,还没有 commit,此时如果不想要这个文件了,有三种方法:
1、用版本库内容清空暂存区,git reset HEAD 回退到当前版本(在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100);
2、使用 git rm --cached 文件名 ,可以从缓存区移除文件,使该文件变为未跟踪的状态,同时下次提交时从本地库中删除,下次提交时该文件在本地以及远程都会被删除。
3、使用 git rm --f “文件路径”,不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。
3、Git强制覆盖本地版本文件(与Git远程仓库保持一致)
依次执行:
git fetch --all ---> git reset --hard origin/master ---> git pull
4、Git查看分支
git branch 查看本地分支
git branch -r 查看远程分支
git branch -a 查看所有分支
5、Git分支
git checkout master 切换分支,该分支本地已存在
git checkout -b dev origin/dev 切换分支到dev,该分支本地不存在
git branch test 创建新分支
git branch -d test 删除分支
git checkout -b dev 创建并切换到新分支
*参考*
- https://www.liaoxuefeng.com/wiki/896043488029600/900003767775424
GIT -初始化文件,跟踪文件状态,设置忽略文件,提交文件,添加文件描述 https://blog.csdn.net/xys2333/article/details/89189870
克隆远程代码到本地: git clone 网址
pull代码到本地(master分支):git pull origin master
pull代码到本地(develop分支):git pull origin develop
提交到本地仓库:git commit -m "提示信息"
提交本地代码到托管仓库:git push origin master
提交本地代码到分支:git push origin 分支
查看用户名 git config user.name
查看用户邮箱 git config user.email
添加用户名:git config --global user.name "Your Name"
添加邮箱:git config --global user.email "you@example.com"
查看状态信息:git status
切换分支:
添加文件到缓存区:git add 文件名(或文件夹名)
1.git强制覆盖本地文件(与git远程仓库保持一致):
git fetch --all
git reset --hard origin/master
git pull
git强制覆盖本地命令(单条执行):
git fetch --all && git reset --hard origin/master && git pull
2.git强制推送本地代码到远程仓库
切换到对应的要上传文件的文件夹下面执行命令
git push -u origin develop
删除版本文件及文件夹:
git rm -r -n "bin/" //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
git rm -r "bin/" //最终执行命令.
git commit -m" remove bin folder all file out of control" //提交
git push origin master //提交到远程服务器
push时记住账号密码:
文件默认路径为C:\Users\admin\.gitconfig
添加内容[credential] helper = store
参考:
使用git bash提交代码到github托管 https://www.cnblogs.com/tuanz/p/11204933.html
gitbash的使用方法 https://www.cnblogs.com/geili/p/11261726.html
Git Bash使用详细教程 https://www.cnblogs.com/ccw869476711/p/10818131.html
Git下载安装及设置详细教程 https://www.jianshu.com/p/a152f82c5e4a