首页 > 其他 > 详细

git

时间:2021-06-11 10:55:48      阅读:32      评论:0      收藏:0      [点我收藏+]

1.配置git

1)添加用户

?git config –global user.name “fanqunsong” ?

git config –gloaba user.email “fanqunsong@meituan.com

?

2)查看git配置及用户信息

?git config –-list

?

3)生成SSH秘钥

?1) 查看是否有秘钥,有则备份然后删除文件夹 ?cd ~/.ssh ?ls

?2) 正式生成,输入指令再 按三次回车,也就是第三次回车密码输入可以为空 ?ssh-keygen -t rsa -C “fanqunsong@meituan.com” ?

3) 添加私钥到 ssh?ssh -add id_rsa


4)复制秘钥

cat? ~/.ssh/id_rsa.pub


5)添加SSHKeys

进入http://git.sankuai.com/plugins/servlet/ssh/account/keys添加SSHKeys


6)测试本机是否有访问的权限 ?

ssh git.sankuai.com

?

?

2.Git和Stash学习

1)创建个人仓库 fanqunsong/Demo;

2)终端首次配置git;

git config --global user.name "fanqunsong"

git config --global user.email"fanqunsong@meituan.com"

3)上传本地的IDEA项目到Stash;

cd ~/IdeaProjects/SpringDemo/?//项目所在目录

git init? //初始化Git仓库

git add --all? //将所有文件添加到暂存区

git commit -m "Initial Commit"? //将暂存区文件提交到本地仓库

git remote add origin ssh://git@git.sankuai.com/fanqunsong/demo.git? //关联远程仓库

git push origin master?//推送变更到远程仓库

4)从仓库下载项目到桌面;

cd ~/Desktop/

git clone ssh://git@git.sankuai.com/fanqunsong/demo.git

5)一些常用git命令;

git remote show origin?//显示远程仓库信息

git remote rm origin?//删除远程仓库

git rm -rf file? //删除文件

git status -s? //查看当前目录下的[没有被Git管理]和[被Git管理但被修改还未提交]的文件状态

git reset --hard 回退到以前的版本

git push origin master的意思就是上传本地当前分支代码到master分支。

git push是上传本地所有分支代码到远程对应的分支上。

?

-------------------------------------------------------------------

IDEA上使用github上传代码

?

--------------------------------------------------------------------

?

------------------------------------------------------------------

Github:在Github上创建自己的代码仓库

?

--------------------------------------------------------------------------------

配置 git df

vi ~/.gitconfig

[diff]
????????tool = vimdiff
[difftool]
????????prompt = false
[alias]
????????df = difftool
????????ignore = update-index --assume-unchanged

然后Git ignore file 这个文件将不会在git托管状态

---------------------------------------------------------------------

?

git reset --hard 回退到以前的版本

git push origin master和git push有什么区别?
1、master是主分支,还可以建一些其他的分支用于开发。
2、git push origin master的意思就是上传本地当前分支代码到master分支。
git push是上传本地所有分支代码到远程对应的分支上。
我们一般可以git push到相应分支上

./init_idea.sh 可以初始化项目

tail -f /data/logs/lingxuweb.log
查看日志

【git 删除本地分支】 git branch -D br
git 删除远程分支】git push origin :br? (origin 后面有空格)

git reset --hard 回退到以前的版本

var timeID=setTimeout(showLeftTime,1000);
?? ??? ?autodata +=":"+timeID;


git checkout master
Switched to branch ‘master‘
[root@lingxu-training-dev001-bjdx11 lingxuweb]# git pull
Already up-to-date.
[root@lingxu-training-dev001-bjdx11 lingxuweb]# git push origin master
Everything up-to-date
[root@lingxu-training-dev001-bjdx11 lingxuweb]# git checkout dev_snat
Switched to branch ‘dev_snat‘
[root@lingxu-training-dev001-bjdx11 lingxuweb]# git rebase master


本地修改了一些文件,其中包含修改、新增、删除的,不需要了想要丢弃,于是做了git check -- .操作,但是只放弃了修改的文件,新增和删除的仍然没有恢复,于是百度了下,使用如下命令:

git checkout . && git clean -df

可以放弃所有修改、新增、删除文件

git checkout . //放弃本地修改,没有提交的可以回到未修改前版本

git clean是从工作目录中移除没有track的文件.
通常的参数是git clean -df:
-d表示同时移除目录,-f表示force,因为在git的配置文件中, clean.requireForce=true,如果不加-f,clean将会拒绝执行.

撤销git
git reset HEAD .

git cherry pick 版本号
会将此版本修改的代码同步过来


先在master分支git pull
然后 git push origin master
然后 切换分支
然后 git rebase master
如果 项目结构出现改变
可重新导入
./init_idea.sh


git reset? 188da23a885978779d12ff589b76457794d0cdb4 fileName
回退单个文件


放弃git? add的某个文件
git reset HEAD fileName




?git rebase -i commit_id
?将不需要的pick? 改成squash
?然后跳出来一个文件修改commitMessage
?然后 push到相应分支上
?不行的话 push -f

远程分支切换到本地?? git checkout branch

查看本地分支的上一次提交注释

git branch -v

查看本地和远程所有分支上一次提交注释

git branch -av


git log -3 最近三次的修改

查看自己的提交? git log --author=

拉取远程分支并创建本地分支
git checkout -b 本地分支名x origin/远程分支名x

分支修改名称
git branch -m branchname newbranchname


回滚
git reset --hard HEAD~1 回滚到上一个版本,或者git log以后 git reset --hard 某个版本
然后 git push -f origin master
?

qa!退出 git df

?

#?删除?untracked?files

git?clean?-f

?

#?连?untracked?的目录也一起删掉

git?clean?-fd

#合并某个分支

git merge branchName

-----------------------------

git的服务器端(remote)端包含多个repository,每个repository可以理解为一个项目。而每个repository下有多个branch,此处各个branch的意义,可以参考这篇文章。"origin"就是指向某一个repository的指针。服务器端的"master"(强调服务器端是因为本地端也有master)就是指向某个repository的一个branch的指针。

这是服务器端(remote)的情况:

技术分享图片

而在本地电脑(local)上:"master"就是指向刚刚从remote server传到本地的副本branch。

$git push A B:C ? ? %其中A和C是分别remote端的一个repository的名字和branch的名字,B是本地端branch的名字

的意思是把本地的B推送到remotes/A/C下。当B=C时可以直接省略为:git push A B。比如:

"git push origin master:master" 可以直接省略为"git push origin master".

?


?

?

git

原文:https://blog.51cto.com/u_15265854/2895592

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!