我已经有了自己github,但是我怎么对我的项目进行上传呢,普通的上传只有上传单一的文件
windows要去下载Git,mac就啥也不用了。(链接至机房ftp文件夹下文件ftp://10.64.130.1/%C8%ED%BC%FE/Git-2.17.0-64-bit.exe)
然后开始使用Git Bash
Git要求每台电脑都要有自己的用户名(User Name)和邮箱(Email)
所以我就自己设置下,这些均为黑框框的操作,也就是命令行,但是不要怕,我们还是有图形界面的
git config --global user.name "your name" git config --global user.email "your email"
建立和上传SSH Key
找到你这台电脑的管理员账户
文件夹下有这个
用txt打开id_rsa.pub
然后到Github setting把这个填进去,Title随意
没有的话可以生成,mac下的命令是这个 ssh-keygen -t rsa -C "your_email",然后到相应文件夹下就可以找到相应的pub
在自己电脑里找到自己所要上传的文件夹,右键Git Bash here
git init
其文件夹下会建立一个.git文件夹
git remote add origin git@github.com:你的账户/你的仓库名称.git
推荐先把两边同步下
git pull --rebase origin master
git pull origin master
git add . git commit -m 'first_commit' git push origin master
要继续学习Git的可以继续看下去
Git就是实现版本控制的工具,Coding界的时光机、抓罪犯利器
很多时候我们都可以输入git status去查看目前在哪了,可以解决大部分的问题
git status
我们可以看到有文件未被追踪,我们可以用 git add <file>,上文的.就是全部加一下
git add a.txt
git status
commit后就是你的改版信息,-m
是 message 的缩写
git commit -m "新增 a.txt"
我们可以通过git remote在本地repo管理远程repo地址
git remote add <remote 名称> <repo 地址>
名称一般为origin
git push可以将本地repo同步到远程repo,上文也用过
git push <远程名称> <分支名称>
git pull是和其他人一起协作一个repo时,A在本地repo commit了一个新版本并push到远程repo,B可以pull 将新版本同步到B的本地repo
git pull <远程名称> <分支名称>
我们还可以使用git reset去回溯,可以先通过log去查看版本
git log --oneline
然后通过git reset,他又三个参数 --mixed
、--soft
、--hard,hard请慎用
git reset 版本号
git stash可以回复到版本出事的样子并把所有改动存储起来
git stash
git stash pop
git diff可以用来比较两个版本的区别
git diff <版本1> <版本2>
git log可以查看git的历史和版本号
git log
git log --oneline
git checkout回复单一档案至指定版本
git checkout <版本> <档案名称>
工作的时候会发现其实你本地的版本可能是不够的,可以用git remote去更新下
git remote update origin --prune
然后我们往往是新建一个分支,就是这样的
git checkout -b some-feature develop
建立bug修复是这样的
f. 开始Hotfix git checkout -b hotfix-0.1.1 master g. 完成Hotfix git checkout master git merge --no-ff hotfix-0.1.1 git push
删除本地分支,如果无法删除可以放心使用-D的
git branch -d 分支名称
以下为在mac下的操作
修改 .bash_profile展示分支
function git_branch { branch="`git branch 2>/dev/null | grep "^*" | sed -e "s/^* //"`" if [ "${branch}" != "" ];then if [ "${branch}" = "(no branch)" ];then branch="(`git rev-parse --short HEAD`...)" fi echo " ($branch)" fi } export PS1='u@h [ 33[01;36m]W[ 33[01;32m]$(git_branch)[ 33[00m] $ '
vim之后source一下就是有效了
回滚上一次提交
git reset --hard HEAD^